Agent based instruction system and method

ABSTRACT

This invention relates to a system and method for interactive, adaptive, and individualized computer assisted instruction. This invention includes an agent ( 108 ) for each student ( 101 ) which adapts to its student, and provides individualized guidance to the student and controls to the augmented computer assisted instructional materials. The instructional materials of this invention are augmented to communicate the student&#39;s performance and the material&#39;s pedagogical characteristics to the agent, and to receive control from the agent. In a preferred embodiment, the agent maintains data reflecting the student&#39;s pedagogic or cognitive characteristics in a protected and portable media in the personal control of the student. Preferably, the content of the communication between the agent and the materials conforms to specified interface standards, so that the agent acts independently of the content of the particular materials. Also preferably, the agent can project using various I/O modalities integrated engaging, lifelike display personna(e).

1. FIELD OF THE INVENTION

This invention relates to a system and method for interactive, adaptive,and individualized computer-assisted instruction of students, preferablyimplemented on network connected computers. More particularly the systemand method includes for each student an agent adapted to that studentwhich monitors its student's instructional behavior, responds to teacherdirection, and controls the instructional progress, and guides itsstudent, all of which constitute one aspect of a virtual tutor.Preferably, the viewable on-screen aspect of the agent includescustomizable multimedia presentation personae, which constitute afurther aspect of a virtual tutor.

2. BACKGROUND OF THE INVENTION

The application of computers in education has been limited by severalproblems, including a failure to provide systems that adapt orindividualize to each student, a failure to integrate systemseffectively into the existing classroom in elementary and secondaryschools, and a failure to exploit technological developments. Althoughduring the last three decades, a number of interactive educationaltechniques have been implemented on computers, all these systems lackthe ability to recognize and to adapt to each student's individualcharacteristics. The common motivation for interactive educationaltechniques was the recognition that individual student interactionfosters learning to a greater degree than mere passive exposure to afixed pace presentation (Kulik et al., 1986, Effectiveness ofcomputer-based adult learning: a meta-analysis, Journal of educationalcomputing research 2:235-252; Kulik et al., 1983, Effects ofcomputer-based teaching on secondary school students, Journal ofeducational psychology 75:19-26). Existing, interactive educationaltechniques have many variants: programmed instruction, mastery learning,audio-tutorials, direct instruction, personalized system of instruction,precision teaching, fluency learning and others (Engleman et al., 1982,Theory of instruction: Principles and Applications, Irvington, New York;Keller, 1968, “Goodbye, teacher . . . ”, Journal of Applied BehaviorAnalysis 1:79-89; Lindsley, 1990, Precision teaching: By teachers forchildren, Teaching Exceptional Children 22:353-359; West et al., 1992,Designs for Excellence in Education: the Legacy of B. F. Skinner, SorrisWest, Inc., Longmont, Colo., pp. 147-160). Several systems haveattempted to harness the interactivity of the computer for theseinteractive educational techniques. In early work, for example,text-based programmed instruction was converted to computer format andimplemented on time-shared systems. This early development was extendedwith more sophisticated computer-assisted instruction (“CAI”), alsoknown as compute based training (“CBT”).

In CAI, for example, the computer acts as a teaching machine. A programpresents instructional displays, accepts student responses, edits andjudges those responses, branches on the basis of student responses,gives feedback to the student, and records and stores the student'sprogress. Examples of CAI systems include those of Carbonell, 1970, AIin CAI, an artificial intelligence approach to computer-assistedinstruction, IEEE Transactions on Man-machine Systems, 11:190-202; Osin,1984, CAI on a national scale, Proc. 4th Jerusalem Conf. on InformationTechnology, pp 418-424; Seidel 1971; Koffman et al., 1975, Artificialintelligence and artificial programming in CAI, Artificial Intelligence6:215-234. Effective CAI instructional materials for a limited number ofspecific topics have been developed, as have special “authoringlanguages,” which assist instructional developers on the tasks ofdesigning instructional materials. U.S. Pat. No. 5,310,349 is exemplaryof such CAI systems.

However, existing CAI systems do not adapt to their students. Thesesystems merely sequence students through educational materials, basedonly on student performance during a current lesson and using onlyparameters such as recent responses and pre-requisite patterns. Thesesystems do not gather or use information on more comprehensive studentcharacteristics, such as past student performance, student performanceon other courses, student learning styles, and student interests.

A greater deficiency is that existing CAI systems do not recognizecharacteristics of their individual students. They cannot beindividualized or made responsive to their students styles. Thereby,these system ignore those roles of a human tutor that can be ofunparalleled significance in the education of an individual. The humantutor assists in scheduling and prioritizing and in maintaining interestthrough proper reinforcement and knowledge of student abilities andpreferences. A human tutor observes and addresses patterns of errors andmaintains a consistent manner of interaction across a broad range ofsubject matters and activities. Moreover, a human tutor effectivelyintegrates the cognitive, personal and social aspects of theinstructional situation. In other words the human tutor provides a levelof individualization based on student styles and on requirements of theinstructional task. Furthermore, the human tutor provides an equallyeffective interaction with the teacher by accepting individualizedinstructions, collecting data and providing detailed reports. By failingto address these higher order services and roles of an effective humantutor, existing CAI systems fail to fully engage their students and thusfail instruct as well as possible.

Additionally, a further problem of computer assisted instruction,particularly in primary and secondary school settings is poorintegration into the rest of the school curriculum and often poorquality of the educational materials. In application to elementary andsecondary schools, two main patterns of instructional computer useprevail, which illustrate the compromises prevalent today. In onepattern, the integrated learning system (“ILS”) is a dedicatedinstallation that is used in schools to teach basic strands of reading,mathematics and related topics, spelling, writing, and other languagearts, from grades one to six, or perhaps to eight or nine (EPIE, 1990,Integrated Instructional Systems: an Evaluation, Educational ProductsInformation Exchange, Hampton Bays, N.Y.). The paradox with thispattern, regardless of the quality of the instruction offered by thesesystems, the work of students in ILSs bears little relation to what goeson in the classrooms in that very same topic. The fundamental reason isthat the teacher cannot influence or respond meaningfully to variationsin student progress or to relations between the CAI curriculum and theclassroom text, materials and activities. This is the case even wherethe ILS installation produces reports in some detail as to eachstudent's progress and standing.

The second pattern of computer use in schools is that of stand-aloneshort units on specific topics (TESS, 1996, Database of EducationalSoftware Systems, Educational Products Information Exchange, HamptonBays, N.Y.). These can be hypercard programs, simulations, or games, andare usually separate from the basic classroom curriculum. Thoughoccasionally of excellent quality, the paradox here is that theseproducts are usually chosen for enhancement, possible optional, and donot account for a major component of school related instruction. Norecords are kept or returned regarding student performance. Theseprograms have not made a major contribution to school instruction.

Finally, computer assisted instruction systems have ignored or underutilized such important developments in computer technology over thepast four years as agent-based system, client-server systems, andnetworking systems. Though now an active field with a wide spectrum ofactivities from research to commercial applications, application ofagent-based systems in educational, instructional, and homework taskshas not been explored. Software systems for intelligent agents havesuccessfully applied in travel arrangements, email management, meetingscheduling, stock portfolio management, and gathering information fromthe Internet (Maes, 1994, Agents that reduce work and informationoverload, Communications of the ACM 37:30-40). In all theseapplications, software agents perform tasks on the user's behalf,receiving only general instructions from their user but then executingdetailed tasks with considerable independence and initiative. Inclient-server systems, these agents can operate in the client, theserver, or both.

Recently, adaptive and personalized agent based systems have begun to bedeveloped. Systems with adaptive agents, agents which learn fromexperience, has made gains with new techniques continually identified.Adaptive agents have permitted new commercially viable adaptive systemsimplemented across networks. In these systems, an agent is a“go-between,” mediating relations in a manner whose function isunderstood with details being left to the agent itself. The agent actsas a “stand-in” for its user, who is thus freed from direct manipulationof the network. In instructional applications, there is an unmet needfor an agent who serves two users: the school system and the individualstudent. This is the well-known role of the teaching assistant/tutor.Maes, 1994, and others have extended the metaphor of agent to that ofpersonal assistant, an agent who learns some important characteristicsof its user, and adapts its behavior accordingly. Agents can learn by amixture of methods: observation, receiving feedback from its user,receiving instructions from the user, and consulting other agentsconcerning “similar problems.” To combine the important properties ofcompetence, trust, and intimacy that a personal assistant should have,an agent should be in touch with relevant data, represent importantfacts in a reliable manner, and engage with its user in a personal andfundamentally sympathetic—at times playful—manner. Approaches to thecreation of agents with personal characteristics have begun to beexplored. In this work, relevant techniques are found in the traditionof film animators who, through the portrayal of emotions, gave theircharacters the illusion of life.

Moreover, computer assisted instructional systems have only haphazardlyexploited the potential of client-server systems and networkingtechnologies. Client-server architectures have emerged as the principalarchitecture of distributed computer systems. Client systems, runningunder sophisticated windowing operating systems, can support advancedobject based software applications, including high speed graphics,animation and audio output. Servers can store gigabytes of data andprograms at central or distributed locations at quite reasonable cost.Object oriented database systems have been developed to store structureddata on servers.

Client systems, in a striking change from only several years ago, nowvirtually all have multimedia capabilities, including high qualitygraphics, sound, and at least limited video playback capability.Text-to-speech software is presently available for use with thesesystems, and speech recognition software is on brink of widespreadcommercial acceptability on low cost platforms. New authoring toolssupport graphical methods for generation of multimedia presentations andcomputer based instructional materials having corresponding sequencinglogic.

Clients and servers can be linked remotely with increasing convenienceand decreasing cost. The Internet has emerged as a means of providing aninexpensive means of connecting computers to provide effectivecommunications and access to information and other resources such assoftware. Further Internet developments that made the Internet trulyuniversal include the HTML and the HTTP protocols, which provideplatform independent access to hyperlinked multimedia information, andthe Java™ programming language, which provides platform independentsoftware for Internet applications programming. Subsets of theInternet—intranets—have become an increasingly important means fordisseminating information and enabling communication within constraineddomains, such as a single school system or corporate enterprise.

Existing CAI systems have not addressed these functional deficienciesnor have they exploited the possibilities of existing technologies.

Citation of references hereinabove shall not be construed as anadmission that such a reference is prior art to the present invention.

3. SUMMARY OF THE INVENTION

The Agent Based Instruction (“ABI”) system of this invention is a systemand method for interactive, adaptive, and individualizedcomputer-assisted instruction and homework, preferably implemented onnetwork connected computers, that overcomes these problems by providingthe following objects in preferred and alternative embodiments. Thisinvention provides a more effective system responsive to the needs ofseveral parties interested in education.

An important object of this invention is to provide the student with avirtual tutor, by having agent software (“agent”) adapted to eachstudent that offers a high quality of individualized student interactionand that manages or controls instruction in a manner approximating areal tutor. The agent exercises management or control over thecomputer-assisted instruction materials and provides information andhelp to the student, both synchronously and asynchronously to particularinstructional materials. Agent behaviors are sensitive to both theeducational context and to the history of student behavior.

In a preferred embodiment of this invention the agent integrates datafrom several sources. From computer-assisted instructional materials, itaccepts data on the methods of instruction adopted by particularmaterials and on student performance in the instruction. From thestudent, it accepts direct interactions as well as using the history ofprevious student performance stored in a student data object. From theteacher, it accepts data on customization and student assignments. Fromthe school, it accepts data on assigned courses, data on analysis ofstudent body performance, and educational standards and criteria. In apreferred embodiment, these inputs allow individualization of agentinteraction. Alternative embodiments are responsive to additional datatypes and sources.

In a preferred embodiment of this invention, diverse agent behaviors arehandled uniformly by a single means. The diverse behaviors includeencouragement and feedback, providing meta-cognitive help on ongoinginstruction, managing or controlling and individualizing computer basedinstruction to the student's learning modes, and assistance withassignment management. These diverse behaviors are selected from a setof potentially appropriate candidate behaviors. This set of candidatebehaviors is ordered and the highest ranked behaviors are chosen.

In a preferred embodiment of this invention the diverse in agentbehaviors adapt to the student based on a variety of information aboutthe student. The agent modifies its behavior on the basis of a growinghistory of interactions with the student over time, as this history ofstudent performance is stored in the student data object. The agent canalso modify its behavior on the basis of teacher and school systemsupplied information.

Further, in this preferred embodiment, the student data object resideson portable media in the physical control of the student. This isadvantageous because the student data object accumulates data personalto the student, and its privacy can be ensured by such student control.Alternatively, the student data object can be stored on central servercomputers in secure databases when this is advantageous to ensurestudent data privacy.

Another important object of this invention is that the agent presentsitself on-screen to the student with integrated, and optionally,animated multimedia persona, or preferably a plurality of persona(hereinafter called “personae”). The on-screen agent can appear asliving entities, which in grade school can be comfortable “studyBuddies™” and in adult training can be appear as an objective “ConceptCoach”. The on-screen agent instructs, motivates, engages and guides itsstudent.

In a preferred embodiment, the on-screen agent can be dramatized by asingle character or by a cast of interacting characters. The interactionbetween these actors can be individualized to reflect the pedagogicalresponse of the agent. To maintain student interest in the agentresponse, story lines continuing across materials or session can beused.

In a preferred embodiment of this invention the voices, gestures andmotions of the personae are derived from the chosen behaviors, studentpersonae preferences, and the history of recent behavior by selectionfrom tables containing a rich variety of alternative sound and visualdisplay objects. All elements of the on-screen agent display are thensynthesized in an integrated display script calling for graphics,animation, video, or sound as appropriate. These scripts are thenbundled into applets, run-time program fragments that represent acomplete element of performance. This display is highly configurable bythe student, the teacher, or the system administrator.

It is an advantage of this invention that elements of the displayobjects can be created by artists, animators, singers, and so forth, asdata snips. Pluralities of data snips can be stored in libraries ofdynamic clip art and then installed in an implementation of thisinvention. In this manner the on-screen agent personae have anappropriately contemporary, realistic, and engaging manner. Data snipsare, in general, short clips of sound, voice, graphics, animation orvideo, or combinations of these used to construct the on-screen agent. Adata snip can also be a complete pre-formatted animated sequence,perhaps in the format of a talking animated daily cartoon strip.

Another important object of this invention is that the interactive,adaptive, and self-paced computer-assisted instruction and homeworkprovided by this invention is available to geographically dispersedstudents and from geographically dispersed schools or educationproviders. Accordingly, the system of this invention is adapted to boththe student data object stored on portable media and to the access ofother important data across a variety of networks. For example, animplementation of this invention as a “Homework Network™” can makecomputer assisted homework available to students of all levels at home.In addition to computers located at residences of students, the studentcan also access homework materials at computers located in youthcenters, libraries, schools and other locations. A student only has toaccess a networked computer and “plug in” the portable student dataobject to receive instruction. Alternatively, the student can access thestudent data object across such a network.

In a preferred embodiment, the network on which this invention isimplemented as an intranet configured of appropriate links and utilizingthe known TCP/IP protocol suite, and as appropriate, ATM technologies,including World Wide Web, associated browsers, and mail formatextensions. Implementation over the public Internet is equally preferredin cases where extensive connectivity is needed.

A further important object of this invention is to utilize augmentedcomputer-assisted instruction materials which present to students avariety of interactive, adaptive, and self-paced computer-assistedinstruction and homework materials in a manner which informs the agentof a student's progress and performance and which permits the agent tomanage or control the materials to the student's pedagogiccharacteristics. Thereby, the ABI system can effectively guide andengage students in their educational tasks.

In a preferred embodiment, these instructional and homework materialsare composed of materials data presented by a materials engine. Thematerials data includes display objects containing the substance of theinstruction, logic to sequence the display according to student input,and notations. Notations are augmented definitions that serve to passinformation to the agent concerning the materials and the student. Forexample, notations classify key sections of materials which areeducationally significant student actions. Preferably, authoring toolsassist in developing these augmented instructional materials. Materialstasks and sequences are created and entered by instructional designersand subject experts. Notations are usually entered by instructionaldesigners and can be customized by teachers.

In a preferred embodiment, the information passed in the notations isstandardized according to an instruction materials interface standard.This standard establishes a uniform way the materials independent datarelating to student performance are to be provided to the agent and auniform way for the agent to guide the student in a materialsindependent manner.

A further important object of this invention is to provide to thestudent a range of tools which are integrated with the agent in a mannersimilar to the instructional materials. These tools include generaltools helpful to assigned instructional tasks, and special tools forgroup work and communication and for student scheduling.

In a preferred embodiment, the general tools include at least acalculator, an encyclopedia, a dictionary, a thesaurus, each appropriateto the several levels of students, which can access an ABIimplementation. In a preferred embodiment, the group work andcommunication materials allow, when permitted, message exchange, studentlinking into groups for joint work, and student linking into groups forstructured work such as contests. In a preferred embodiment the studentscheduling tool records assigned student activities and theirpriorities. In an embodiment, this tool can be consulted by the studentto view schedules. It can be consulted by the system to prescriptivelyschedule required activities, to permit student choice, or to permit amixed scheduling initiative. Finally, it can be consulted by the agentto offer scheduling advice to the student. Typically, studentassignments are set by a teacher.

An object of this invention is reporting of student performance tostudents, teachers, parents, administration, or to other appropriateindividuals in a business enterprise or other commercial versions. Thesereports include the unique data on the student's pedagogic performanceaccumulated and analyzed by the agent, as well as all the usual andexpected performance data on specific materials available in existingcomputer-assisted instruction systems. In a preferred embodiment, datafor such reports, called herein school-student data, is forwarded by theagent pursuant to school policies to school server computers from thestudents' local computer. On the server computers, it is stored inserver databases against which are run such reports. Alternatively, thisdata can be forwarded to existing student information systems present atthe school. In a further alternative embodiment wherein the student dataobjects are centrally stored, this data can be derived from theseobjects, which can be stored in an object oriented database system. Itis an advantage of this invention in a school context that parents canhave access to current data on their children, and thereby play a moreinformed role in their children's education.

Another object of the invention is to utilize current technologies forstudent interaction. When available, this invention is adaptable toNetwork Computers (“NC”). NCs are low cost computers specificallydesigned to access intranets or the public Internet. In a currentpreferred embodiment and implementation, this invention is adaptable tomultimedia PCs for some students, and to such special interactiontechnologies as can be advantageous to special students or students withspecial needs. Typical interactive devices include keyboards, mice orother pointing devices, voice recognition, joy-sticks, touch activateddevices, light-pens, and so forth. Other devices, such as virtualreality devices, can be added as they become commercialized.

It is clear to those of skill in the art that by providing interactive,adaptive, and self-paced computer-assisted instruction and homeworkdelivered over widely available computer networks this invention hasimmediate application in public, private, and commercial schoolenvironment of all levels. Educational research shows that instructionand homework of these characteristics improves students' educationaloutcomes. Further, in school contexts this invention advantageouslyprovides immediate access to student performance and pedagogiccharacteristics to all interested parties, including parents.

4. BRIEF DESCRIPTIONS OF THE DRAWINGS

These and other objects, features, and advantages of the invention willbecome apparent to those of skill in the art in view of the accompanyingdrawings, detailed description, and appended claims, where:

FIG. 1 illustrates in overview fashion the principal functionalcomponents of and parties in the ABI system;

FIGS. 2A and 2B illustrate in overview fashion an implementation of thefunctional components of FIG. 1;

FIG. 3 illustrates an exemplary student display screen of theimplementation of FIG. 2;

FIG. 4 illustrates in more detail exemplary screen interaction betweenthe on-screen agent and the instructional materials of theimplementation of FIG. 2;

FIG. 5 illustrates an exemplary interaction of a student with the ABIsystem implementation of FIG. 2;

FIG. 6 illustrates in more detail the software components and hierarchyin the implementation of FIG. 2;

FIG. 7 illustrates exemplary message flow through the implementation ofFIG. 2;

FIG. 8 illustrates agent action processing of FIG. 7 in more detail;

FIG. 9 illustrates agent behavior processing of FIG. 7 in more detail;

FIGS. 10A and 10B illustrate the structure of student data object ofFIG. 7 in more detail;

FIG. 11 illustrates exemplary processing of the student data object ofFIG. 7;

FIG. 12 illustrates an exemplary sequence of student meta-requests andagent meta-responses.

5. DETAILED DESCRIPTION OF THE INVENTION

Sec. 5.1 presents a general overview of the Agent Based Instructionsystem. Sec. 5.2 describes the preferred hardware and operating softwareconfigurations. Sec. 5.3 describes details of the instructionalinterface between the ABI system and its users. Sec. 5.4 describes in ageneral fashion the software structure of the ABI system with subsequentsections describing each component in a more detailed fashion. Sec. 5.5describes the instructional materials and the tools in a more detailedfashion and Sec. 5.6 describes the agent in a more detailed fashion. Sec5.6 includes detailed description of the preferred interface between theagent and the materials in the ABI system.

5.1. ABI System Overview

In the following, the systems and methods of this invention aredescribed in the context of a school system, with examples drawnprimarily from elementary education. This invention is not so limited.It will be apparent to one of skill in the relevant arts that thisinvention can be applied at all levels of public and private education,from pre-school through university, and to all forms of commercial orcorporate education. In all these contexts, this invention hasparticular utility in making education and training available at school,at the office, at home, at schools with geographically dispersedstudents and to students at geographically dispersed schools, and atother types of locations. Further, it will be apparent that thisinvention can be applied in contexts other than education wheremonitored interactivity and individualization are to be provided, as inchild care or weight loss.

The following glossary contains several terms frequently used in theDetailed Description of the invention. It is presented here as an aid inorder to initially introduce important terms that are more fullydescribed and explained in the following sections.

Agent: agent software together with the data it references executing inan ABI system.

Agent Based Instruction (“ABI”) System: the novel instructional systemof this invention, preferably comprising an agent for responsive,adaptive and individualized instruction of students and a network fordistribution of instruction, which projects the personae of the virtualtutor.

Agent Software: software modules that generate responsive, adaptive, andindividualized behavior in the ABI system, preferably implementedaccording to methods from artificial intelligence.

Applet: an executable program fragment advantageously downloaded to aclient across the network, in the ABI system applets are particularlyused to represent a complete element of on-screen agent actions, orperformance, (e.g., a character scratching its head and saying anutterance) and can reference various data snips of animation, sound, andscripting information.

Authoring Tools: programs used by instructional designers to developmaterials data, such development includes inserting notations.

Cast: a plurality of persona (“personae”) representing the on-screenagent.

Character: an individual persona in the cast of the on-screen agent.

Concept Coach: a possible alternative name for a persona in the cast ofan on-screen agent that is suitable for high school and adult students.

Data Snip: an elementary piece of sound, voice, animation, video, or agraphic; data snips can be combined, preferably by an applet, torepresent a complete element of on-screen agent action.

Electronic Learning Friend (“ELF”): a generic name for any persona inthe cast of an on-screen agent; also a possible alternative name for apersona suitable for middle school students.

Instructional Materials: the components of a course of instruction, suchcomponents are selected according to the course and can includeprerequisite tests, pre- tests, lessons, and unit tests.

Materials Data: the content of instructional materials.

Materials Engine: software modules that reference instructionalmaterials data and tools data to present the instruction and the toolsto the student.

Meta-request: a student request directly to the on-screen agent, anexemplary request is ‘asking for a hint.’

Meta-response: all responses to a student produced by the agentsoftware, as distinguished from presentations by instructionalmaterials, tools and communications.

Network: the hardware and software connecting student client computersto school servers in an ABI system; the network connections can comprisefiber optic links, wired links, or terrestrial or satellite wirelesslinks.

Notations: interface information inserted into materials data thatcauses the materials engine to send and receive messages from the agentsoftware; preferably notations create standardized interface messagesbetween the agent and the materials.

On-screen Agent: presentation by the agent software on the student'sdisplay using such media as sound, voice, graphics, animation, video, orother multimedia modality; this presentation preferably displays one ormore life-like personae.

Persona: a character in the cast of an on-screen agent.

Personae: the collective plural of persona.

School-student Data: data about each student's educational progresscollected centrally; this data is forwarded by the student's agentpursuant to school data collection and privacy policies; depending onthese policies, such data can range from none to essentially the entirecontent of the student data object.

Student Data object: data about each student which the agent softwarereferences in order to provide responsive, adaptive, and individualizedinstruction to that student; this data is updated during course of eachlesson and is advantageously stored as one object, or alternatively afew linked objects, on portable media or in the ABI system.

Study Buddies™: a possible alternative name for personae in the cast ofan on-screen agent that is suitable for elementary school students.

Tools Data: the content of tools supporting particular instructionalmaterials; tools can include a dictionary a calculator, or anencyclopedia; and so forth, and tools data are the content of thedictionary, the calculator, or the encyclopedia.

Utterance: a text or voiced response by on-screen agent.

Virtual Tutor: the ABI system components acting together to emulate ahuman tutor; from an individual student's perspective, the StudyBuddies™, ELF, or Concept Coach appears as his or her personal tutor.

The following sections of the Detailed Description elaborate each ofthese terms and describe their connection and interaction so that theABI system presents responsive, adaptive, and individualized instructionand assumes the form of a virtual tutor.

5.1.1. Functional Components

In view of these objects and advantages, FIG. 1 illustrates theprincipal actors and the principal functional components in an ABISystem. These include, generally, materials engine 102, agent software108, and student data object 109, all of which interact with student 101and with teachers and administrators 106 via a computer networkdescribed below in conjunction with FIG. 2 to create a virtual tutor ofstudent 101. Student 101 is typically one of many students enrolled in aschool or similar institution. Central to the ABI System is the virtualtutor individualized to each student, which formed by the functioning ofagent software 108 with student data object 109, which storescharacteristics of student 101 and assignments and standards set byteachers and administrators 106. Other actors not shown in FIG. 1 can berelevant in particular applications, for example, parents in the case ofprimary and secondary education.

Materials engine 102 presents educational content such as instructionalunits, homework assignments, and testing to student 101. The educationalcontent includes instructional materials data 114, communicationsmaterials data 104, and tools data 115. instructional materials data 114include computer based instructional materials similar to those known inthe art but, importantly, augmented with notations for use in thisinvention. The materials also include various tools 115 appropriate toparticular instructional materials, such as a calculator formathematics, a dictionary for writing, access to on-line referencesources for research, and so forth. Further, materials can also includecommunication materials data 104, which define and provide communicationwith other students 105 for instructional purposes. Such purposes canprovide, for example, the tutoring of one student by another moreadvanced student, joint work of several students on one instructionalmaterials lesson as permitted, and educational contests, such asspelling bees. Further, this invention is equally adaptable to otherforms of materials that function in the framework of FIG. 1, inparticular interfacing to the agent software as indicated by arrow 111,and that are useful in a particular application of this invention. Forexample, materials appropriate for child care contexts can differ fromthe above three classes by, perhaps, having different paradigms ofinteractivity.

The structure and course of interactions 103 between the student and thematerials is preferably governed by paradigms of educational psychologyand sound educational practice, such as are described in the exemplaryreference Englemann et al., 1982, Theory of instruction: principles andapplications, New York: Irvington publisher. At the most immediatelevel, for example, during homework or instruction, student 101 can makerequests and receives responses from materials engine 102 and, in turn,materials engine 102 can make requests and receive responses fromstudent 101. The materials engine can adjust its sequence ofpresentation in response to student responses. At a next level, therequests and responses exchanged between the student and the materialsengine can follow several patterns known in the arts of computer basedinstruction and which, for example, include the following. First, thestudent can respond to questions presented by the materials engine, andin the course of responding, can ask for advice or hints, the use of atool such as a calculator, or other relevant assistance. Second, thestudent can advance to the next item, lesson, or unit upon successfulcompletion of the present item, lesson, or unit. Third, in case oferror, the student can request, or automatically be presented with,appropriate repeat, review, or remediation materials. Finally, at ahigher level these patterns of interactions can be analyzed to providemore adaptive responses from the system.

Teachers and administrators 106 also interact with materials engine 102for several purposes, as represented by arrow 107. For example, teacherscan customize existing materials by adding additional items, modifyingexisting items, altering the order of item presentation, changing thenotations (see infra.) governing agent interaction, and so forth. Ateacher can create particular instances of materials suitable for oneclass, a group, or even one student. Further, although reporting ofstudent progress preferably occurs by other means, in alternativeembodiments the materials engine can directly report student progress toteachers and administrators. For example, this can be done by enteringnotations that generate messages for the teachers.

Also, instructional designers can create, or “author,” materials for usein this invention. Such materials can be original or can be derived fromexisting textbooks, workbooks or media material. They can employstandardized curricula, pretests such as criterion tests, post-tests,and standardized texts. Authoring instructional materials in a coursesuitable for interactive instruction typically comprises several steps,including decisions about the objects to display to the student, thesequencing of these authoring tools support and facilitate theconversion of existing materials to the ABI instructional format.

As indicated above, an agent unique to each student 101 is important inthe ABI system. A student's agent is comprised of agent software 108 inconjunction with a student data object 109 unique to each student. Asthe agent software monitors its student's instruction, it builds anadaptive model of its student in student data object 109. Guided by thismodel, agent software 108 acts, first, to manage or control thestudent's instruction, and second, to directly guide the student inorder that the total ABI system can present education to each student inan optimal fashion best adapted to the student's evolving abilities,skills, and preferences. In other words, the agent becomes a virtualtutor by acting as a student's personal and individualized tutor. First,the agent manages or controls instruction of student 101 by directlycontrolling materials engine 102 in its presentation of materials data104, 114, and 115 through interaction with the materials engine, asrepresented by arrow 111. The agent preferably manages or controls thematerials engine in two manners, synchronous with materials datapresentation, such as when the materials engine encounters anappropriate notation in the data, makes an agent request, and waits foran agent response, and asynchronous with the presentation, such as whenthe agent software adjusts control parameters which the materials enginereferences at decision points. Examples of synchronous control are aninstructional material asking the agent for permission to allow thestudent to use a tool, to receive a hint, or to be given remediation, ora communications material asking the agent for permission to permit thestudent to engage in a particular type of communication with certainother students. An example of asynchronous control is the agent settingof pedagogic parameters, such as coaching parameters that the materialsengine uses to adjust its presentation, according to the pedagogiccharacteristics of the student. Exemplary coaching objects, and theinteractions with the agent. The first step is the selection of objectswhich carry the education content for presentation to a student. Objectscan include visual display items, such as text, graphics, animation ormovies, audible display items, such as voice, audio and so forth. Theycan include input items known in the computer arts, such as buttons toselect, selections to chose from, text to enter, hypertext andhypermedia links, functions to perform with student input, and so forth.The second step is the selection of the sequencing logic for the ordereddisplay of the objects to the student and the educationally appropriatereaction to student requests and responses. The sequencing logic canreference instructional controls set by agent software 108, such as acommand to increase example density, and preferably is chosen in lightof principles of educational psychology and practice as detailed above.The third step is the specification of interactions with a student'sagent or virtual tutor, a key component of the ABI system. Thisspecification is made by augmenting the sequencing logic with“notations,” which are referenced, called, or executed by the sequencinglogic during object presentation and that communicate with the agent, ina preferred embodiment by exchanging messages. In the ABI system, theagent builds an adaptive model of its student's pedagogiccharacteristics, in other words the student's cognitive styles, bymonitoring the course of the student's interactive instruction. Thenotations are the means for this monitoring. Finally, in order to makematerials available, the authored materials are indexed and stored inthe files of the ABI system, preferably on materials server systems.

ABI authoring tools differ from authoring conventional instructionalmaterials in that notations are present in these materials to enable theagent software to update the student data object, to monitor and modifythe instruction, student's use of a tool, or a communication task. ABIparameters include the time pacing of exercises, the new concept seedingrate and the density of examples. In this manner, the materials canpresent interactive instruction according to optimal values of thepedagogic characteristics or cognitive styles of each student asdetermined from the agent's observation of its student.

Second, agent software 108 directly guides the student by exchangingcommunication with the student, as represented by arrow 112. Studentcommunication also preferably occurs in two manners, synchronously, inwhich the student directly makes meta-requests of the agent tutor andreceives meta-responses and second, asynchronously, in which the agenttutor itself generates a meta-response in response to some instructionalevent. Herein, requests and responses are prefixed with “meta” when theyare exchanged directly with the agent. Meta-requests include studentquestions to the agent—for example: How am I doing? What should I donext? Could you say that another way?—or student requests—for example: Ineed a hint; I need help. The agent responds to each student question orrequest. Agent meta-responses can be generated, for example, when thestudent takes too long to complete an exercise, when the student makes aseries of repeated errors, or when the student achieves goodperformance. Agent meta-responses can be drawn from such categories asreminders, encouragements, reinforcements, paraphrases, jokes, progresssummaries, and so forth.

Communication with the agent, represented by arrow 112, include directstudent meta-requests that generate agent meta-responses. Othercommunications derive from instructional event messages generated andcommunicated by augmented notations in materials 104, 114, and 115. Anevent received by the agent can generate no meta-response at all oralternatively can generate an asynchronous type agent meta-response. Ateducationally significant points, as the materials sequencing logicpresents display objects to the student and receives inputs from thestudent, the materials data author places one or more notations. Whenthese notation are referenced, called, or executed, important variablesand parameters educationally relevant at this significant point aregathered into a message, along with an indication of the type of theeducational event. These messages are events which are then sent to theagent. For example, an educationally significant point is the beginningof a new instructional sequence. The corresponding event message caninclude an indication of the topic to be covered, the expected level ofdifficulty, the expected time to complete, and the educational paradigmadopted. Another educationally significant point is the receipt of awrong answer. In response, the materials can generate several messages:a first message can include the time required to make the answer, anindication of the type of error, and an indication of whether the answeris completely wrong or only a near miss; a second message can includetext parameters (“say-it” type message) if the agent chooses to make aspecific text or spoken comment about the error; finally, a thirdmessage can include the screen location best representing the error(“point-it” type message) to use if the on-screen agent chooses to pointto the error or move to the location of the error. Another educationallysignificant point can be a long delay in receiving the next studentinput, at which point the materials engine can send an asynchronousmessage indicating the time elapsed. Tools data 115 generate eventssimilar to messages from instructional materials. Communicationsmaterials 104 can generate events recording a communication request oran initiation of communication with certain other students for a certaintask. In the case of shared work on one materials, communicationsmaterials can generate events recording how this student in progressingwith the shared materials; in the case of a contest such as a spellingbee, events recording how this student is progressing in the contestwith respect to other contestants.

In addition, in a preferred embodiment agent software 108 also receivesmessages describing the progress of the student through specificinstructional materials. For example, in the case of mathematicsmaterials, such messages can include information that the student ismaking errors in problems requiring finding common denominators. Theseevent message should preferably all information that can be of interestto teachers and administrators for tracking student progress andtracking course adequacy.

It is important that communication between the student and the agent beengaging. Agent communication preferably utilizes all the modalities ofinput and output available in a particular implementation of thisinvention, including text, audio displays such as voice and sound, andvideo displays such as graphics, animation, and realistic movie clips.For example, in the case of a communication triggered by goodperformance, the agent can select the display of sound and video clips,from a data snips library, that the student finds pleasing. The agentcan further make reward graphics available on the student's screen for aperiod of time. On the other hand, in the case of error the agent canpoint to the screen location of the error.

Further, it is highly preferable that the on-screen agent can assumevarious display personae during student communication. Herein, personameans the effect conveyed to the student of the combined and coherentpresentation of multiple display modalities to emulate a particular,apparently living, personality. For example, in the case of elementaryeducation, this can be the selection of tone and animation to emulate apleasant animal or a known cartoon character. In some cases,characteristics of the, display persona can be selectable by the studentaccording to the student's preferences. In other cases, the personae canbe specified by the instructional materials, the teacher or theadministrator overriding student persona preferences. Personae for anelementary school student can be selected from well-known cartooncharacters and can perhaps be called “Study Buddies™.” Persona forcommercial or corporate education can be adapted to the organizationalethos and can perhaps be called a “Concept Coach.” Presentations forintermediate levels can be called an Electronic Learning Friend (“ELF”).Even though the ABI system through its network, software and databaseacts as the student's virtual tutor, from the elementary school studentspoint of view, the “Study Buddies™” are his/her personal tutor. Realismin voice, gestures and movement reinforce this relationship.

Agent software 108 in the ABI system builds an adapting pedagogic orcognitive model of its student in student data object 109. This model isindependent of specific materials. Event messages to the agent softwarefrom the materials engine preferably include the information from whichthis model is built. In general, event messages must include suchcontent as is necessary to describe and parametrize the pedagogic orcognitive style models adopted by the materials in an implementation ofthe ABI system.

In a preferred embodiment, the student data object 109 includes suchdata about a student necessary to the agent's evolving pedagogic orcognitive student model. Further, it preferably also includes dataconcerning the student's current state and recent performance in theinstructional materials being presented to the student. This latter datais interpretable by both the agent and the instructional materials.Finally, the student data object can include private scratch-pad areasfor the sole use of instructional materials. Data in the student dataobject is available for access during student sessions and is safelystored between sessions.

The student data object is preferably securely stored on portable mediain the physical control of the student. A student “plugs-in” such aportable student data object stored on portable media as part ofaccessing an ABI system. Preferably, this portable medium is a smartcard, or similar device, which securely couples portable storage andprocessing in order to shield the actual data and, instead, present amessage-based interface to the student data object. Alternatively, thestudent data object can be centrally stored on school computers anddownloaded to the student's computer when the student access an ABIsystem. In this case, the student data objects are preferably stored inan object oriented database, although this data can be advantageouslystored in standard relational databases. As depicted by arrow 110, thestudent data object is referenced by the agent in order to generate itsactions and is updated by the agent as it processes events and studentmeta-requests.

Especially in the primary and secondary school context, the school canneed to gather educational progress data pursuant to its data-gatheringand privacy policies. In cases where no single school is present, as inthe case of multiple, dispersed education providers, no suchschool-student data is generated by the agent. However, suchschool-student data 116, when present, can be forwarded to centralschool computers by agent 108. Also, school-student data can containguidance to the student's agent, such as the school schedule.Accordingly, school-student data is accessed not only by the agentsoftware 108, but also by teachers and administrators 106. As depictedby arrow 113, school-student data is referenced by teachers andadministrators in order to track the student progress and to generatereports concerning the students and the materials in the ABI system.Teachers also update the school-student data to enter scheduleinformation for the student's assignments, which can be referenced andused by the student's agent. Administrators update this data in order toenter the courses and materials the student must master and specifystandards and criteria the student must meet.

In an alternative embodiment, however, these various data can becombined. Student data object 109, whether portable or centrally stored,can contain both pedagogic and cognitive model data and educationalprogress data, the school-student data 116. Such a combination isparticularly advantageous in the case of central storage of the studentdata object.

5.1.2. Exemplary Implementing Structure

FIGS. 2A and 2B illustrate an exemplary preferred structure implementingthe principal conceptual and functional components of the ABI system asillustrated in FIG. 1. A preferred implementation of this invention isbased on a plurality of computers interconnected by a network and,preferably, a plurality of portable storage media for the student dataobjects. Preferably, although all system functions can be performed onall interconnected computers, certain computers are specialized forcertain functions, such as student client systems for providing studentaccess or system servers for storing system software resources.Therefore, an exemplary preferred ABI system includes one or morestudent client systems 201, at which student 202 receives instructionalpresentations including homework. Other student clients are generallyindicated at 203 and can be located at school, at home, or at theoffice. The system further includes one or more servers 204, at whichteachers and administrators 205 gain access to the system.Alternatively, they can access the ABI system at their own clientcomputer systems.

These components are interconnected by a network which consists oftransmission medium 206 and local attachments 207. Although the networkillustrated in FIG. 2A is of a bus-type configuration, as in a localarea network perhaps using collision detection or token passingprotocols or both, this invention is adaptable to all forms of networkswhich support adequate transmission protocols, such as those that arefunctionally similar to the TCP/IP protocol suite, and as appropriate,ATM technology. Thus, the invention is adaptable to networks constructedfrom switched or non-switched links to a central server, which can beconfigured of several LAN attached server systems, to networks includingCATV cable or optical links, to networks including radio links eitherterrestrial or satellite, and to public or private packet switchingnetworks. In the near future, for the majority of students, localattachment 207 is expected to remain a lower speed access over theswitched, public telephone network. In the more distant future, suchlower speed local attachments may possibly be replaced by a higher speedaccess using currently developing high-bandwidth technologies.

A preferred public packet switching network to which this invention isadaptable is the Internet. ABI system nodes can be linked to theInternet in any convenient manner known to those skilled in the art andcan include security boundaries (known a firewalls) to preventunauthorized access. Alternatively, an ABI system implementation can bean “intranet,” that is a network constructed according to TCP/IPprotocols but using private links of the types enumerated above, and asappropriate, ATM technologies.

In more detail, student client system 201 includes memory 208, which isRAM type real memory or a virtual memory based on RAM type memory and abacking store. Preferably, to reduce size and cost, the client systemhas no permanent disk storage. When available, a preferable studentclient can be a low cost network computer (“NC”). A NC is a computerwith processor, RAM, and network interfaces sufficient to accessintranets or the Internet. A NC is preferable in cases whenhigh-bandwidth network access is available. In cases of low-bandwidthnetwork access, the client system can have one or more disc drives 209which can be used as a pre-fetch buffer or a read-only cache. The diskspreferably are magnetic, although in a less preferable embodiment theycan also include CDROMs. This optional capability serves to enhancecommunications efficiency in cases where the network has relatively lowbandwidth. Large files can be downloaded in advance of a student sessionor the student client can cache read-only data across sessions obviatingthe need for downloading such files such caching requires the operatingsystem components to maintain some form of version control of theread-only data.

Preferably, an ABI system also includes portable storage media 240storing a portable student object. Each student has physical possessionof such a media which contains the student data object for the student.The data on portable media 240 is accessed by client system 201 acrossan appropriate physical link 241. Advantageously, portable media 240contains both storage and processing capabilities. The containedprocessing capability responds only to inquiry and update methods fordata elements of the student data object; no methods or data need beloaded into RAM memory 224. Thereby, method execution is shielded fromclient system 201, and the actual data structures of the student dataobject are protected from accidental or malicious alteration or damageby any foreign software that might be on client system 201. In caseswhere adequate processing capabilities are present, such a portablemedia can implement many of methods of the student data object,appearing essentially as a “pluggable object.” Illustrative suchportable media can be a smart card or a PCMCIA card with flash RAM and amicroprocessor. Such portable media also are more platform independentthan are alternative media.

Alternatively, portable media 240 can be a portable hard disc packagedfor access through a parallel or serial port of client system 201. Theportable media can also be a standard floppy disc. In this alternative,student data object methods can be stored as executable modules andobject data structures can be stored in a securely encrypted format toprevent unauthorized alteration of data values or data structures.Student data object access from such portable media begins with theloading and executing of appropriate executable methods by client system201. These methods then fetch and decrypt requested data elements intoRAM memory 224 for reference or for update. In this case, only the datais shielded from client system 201. This invention is adaptable to otherportable media for the student data object, such as one portable clientcomputer for, and in the possession of, one student which has thatstudent's data object as a permanently mounted component.

Alternatively, in cases where portable media are deemed inappropriate,the student data object can be stored between student sessions on aserver and downloaded when a student accesses an ABI system at aparticular client.

According to all of these alternatives, a student can access ABI systemservices from any available client system at any time.

The student interacts with a client system using any appropriateinteractive input/output (“I/O”) modes 210. For input, standard devicesinclude pointing devices, such as mouse 211 or a track-ball, ageappropriate keyboards, optionally speech recognition, and so forth.Speech recognition will permit brief conversations with the “StudyBuddies™,” or other personae, in limited areas. The invention isadaptable to special input devices appropriate for particular groups,such as the handicapped, and to devices yet to be constructed. Virtualreality (“VR”) interface devices such as VR gloves and VR displayhelmets can have immediate applications for special needs students. Foroutput, preferable devices include computer display 212, for displayingobjects such as text, graphics, animation, and video, and audio outputdevices for voice and sound clips. The audio and voice can beconstructed from data snips stored as digitized sound files inlibraries. Alternatively, voice can be synthesized from text. Theinvention is also adaptable to special output devices for specialclasses of students, e.g. the handicapped, and to new devices beingdeveloped.

FIG. 2A also shows an exemplary screen layout for a student client thatexemplifies the principal functions of this invention. The screen ispreferably partitioned so that principal components of this inventionare displayed; and important student actions are represented by icons orbuttons. Thus, the screen includes materials and tools area 220 to theleft, agent area 215 to the right, and a system toolbar 218, whichincludes a student customization area 221 at the top. The size of thescreen partitions illustrated preferably change from time to time inresponse to student customization or display requirements. Inparticular, either the materials area or the agent area can enlarge,perhaps up to the entire screen as needed. Materials area 220 is for theinstructional materials, tools, and communication materials to presentvisual display objects and for these components to receive interactiveinput. This area is further subdivided into display region 213 and amaterials specific toolbar 214. On-screen agent area 215 is for theon-screen agent to receive meta-requests and to display synchronous andasynchronous meta-responses. Also illustrated is an exemplary on-screenagent consisting of a single persona 216 and a meta-request icon 217.The persona can move to other screen areas as required. Both thesecomponents are illustrated as appropriate for elementary education.Other visual appearances would be appropriate in other situations. Thesystem area at top includes toolbar 218 for selecting particularavailable system components. In particular, always available on thistoolbar are selection icons 219 for the calendar and scheduling tool.Part 221 of the system area can be reserved for student customization,for example for the display of reward graphics “given” to the student bythe agent or virtual tutor.

Functionally illustrated in FIG. 2A is an exemplary memory organizationof a student client system when a session is in progress with materialsbeing presented. Layer 222 comprises operating software and networkcommunications. This software provides, among other services, supportfor I/O devices attached to the client, a file system with cachecontrol, lower level network protocols, such as TCP/IP and ATM, andhigher-level network protocols, such as HTTP V2.0.

Executive software layer 223 provides basic shared ABI systemcapabilities. The executive software verifies student identity andaccess authority, establishes communications sessions with the systemservers as required during client start-up, downloads instructionalmaterials scheduled for this student, and download executable softwarerequired from the systems servers as-needed. In the preferred embodimentusing portable media, the executive software verifies that the containedstudent data object belongs to the identified student and accesses themethods of the student data object upon request, primarily, from agentsoftware 225. In an embodiment with centrally stored student dataobjects, the executive software downloads the identified student's dataobject from the student database. The instructional material and thesoftware are read-only and are-not changed during a session. The studentmodel is updated by the agent during the student session and modifiedparts are stored back in portable media 240 or uploaded to the studentdatabase on a server. Such downloading can utilize higher level networktransfer protocols, or alternatively, directly use lower level networkprotocols.

FIG. 2A illustrates that agent software 225, optional components ofstudent data object 226, and certain instructional materials software224 have already been downloaded. The materials are displaying objectsin screen area 220, and as indicated by arrow 227 are forwarding eventsto the agent and receiving management or controls from the agent. Theagent is displaying its persona(e) in screen area 215, interacting withthe materials, as represented by arrow 227, and is referencing andupdating data in student data model 226, as represented by arrow 228.

Arrow 228 represents different access methods depending on theembodiment of the student data object. In the case of preferred portablemedia with processing and storage, no components of the student dataobject are loaded in memory. Then, arrow 228 represents direct messageexchanges, or method calls, to portable device 240 made across physicallink 241. In the case of portable media such as hard disks or floppydisks, arrow 228 represents method calls to student data object methodsloaded into memory 226. These methods can reference or load into memoryadditional necessary data components of the student data object. In thecase of a downloaded student data object, arrow 228 merely representsmemory accesses to this data. Finally, in the preferred embodiment wherethe student data is separated into the student data object and intoschool-student data, arrow 228 further represents references and updatesto such school-student data, preferably on school servers. Such updatescan include school-related educational progress data.

Finally, the student client system further includes standard componentsnot shown, such as a microprocessor and input/output interfaces.Alternative implementations of the student client system are within thescope of this invention. In particular, student client system functioncan reside on a server system. Further, the client system can beimplemented as two machines, wherein a first machine performssubstantially all the computations and a second machine is for studentinteraction and sends student input and receives display instructionsfrom the first machine.

The ABI system further includes one or more server at systems 204 ofFIG. 2B with sufficient large capacity discs 230 for storing allschool-student data, all instructional materials, and all software usedin the system. Optionally, the servers can also store student dataobjects in an object-oriented database. The network is used todistribute software, instructional materials, and school-student datafrom these servers. In alternative embodiments, there can be more thanone server with software and data component storage divided asconvenient across the servers. In a further and less preferredembodiment, the server can be a central host system. In comparison tothe client systems, servers preferably have increased performance andhigher speed network connections 231 in order to make this stored dataquickly available to the one or more student client systems. Access toschool-student data allows teachers and administrators to track studentperformance by class, grade, subject, school and so forth.

Importantly, certain server systems can also perform a registryfunction. In cases where multiple schools or multiple educationproviders can be accessed by a student, it is important to ensureintegrity of that student's data object. In these cases, before allowingdownloaded software to access the student data object, either indirectlythrough the agent, or, perhaps, directly, such software can be validatedas being both a correctly functioning component of an ABI system and acorrectly identified component. In particular, the latter check preventsforeign software from masquerading as legitimate ABI system software.The information for these checks can be stored as a registry function incertain common server systems. See, infra., section 5.2.4.

The server systems are preferably configured as shown in FIG. 2B and areloaded with software 232 providing the following function. First, thereis operating system, network services, and file server layer 233. Inaddition to the functions of layer 222 in the client system, layer 233also provides a file server facility including file backup and versioncontrol. System manger 234 includes facilities for access control,authenticating student access requests and limiting file access toauthorized users. For example, students can be limited to only theirpersonal files; parents to their children's files and curricular relateddata; teachers to files and school-student data for their classes; whilecertain administrators have unlimited access. The system manager canalso maintain any necessary system logs. Instructional materialsdatabases 240 and directories of executable software also reside on theserver systems. When group communications is in use, agents andcommunication tasks monitoring the groups can reside on the servers. Theservers also contain areas 237 for administrative data and for reportsand report software of interest to the administrative staff. The serversalso contain teacher areas 238 for data and report software of interestto teachers.

Finally, the servers contain student database 235. This databasepreferably includes school-student data, which is a source of reportsfor teachers and administrators and of data by which these staffsschedule student courses and assignments. Preferably, student dataobjects, including data representing the pedagogic model of the studentused by the agent software, are stored in portable media 240. In thisembodiment, the servers preferably provide an area for secure backupstorage for these portable data objects. Optionally, student dataobjects can be stored in an object-oriented extension to studentdatabase 235.

Further, certain instructional materials can be made availablespecifically for the teaching staff, along with an individualizedteacher agent acting as a virtual tutor for the teachers. The facilitiesof the ABI system can be used to simplify teacher familiarization andsystem training. For example, such teacher training can be userinstruction in the ABI system itself, or can be teacher versions ofstudent materials designed to assist the teacher in his/her use andcustomization (in the nature of today's teacher versions of textbooks).Further, there can be teacher specific tools, for example, to assist ingenerating student reports and class management. In this case the serversystem contains special instructional materials for performing thisinstruction. Associated teacher data objects are implemented and storedsimilarly to student data objects. Client systems for teacher accesshave agents unique to individual teachers.

Alternatively, the flexible server structure of the system permitsadministrative and teaching staff to perform their specific tasks on anycomputer system with enough computing resources to support these tasks.As for student access, necessary system components are downloaded fromservers to these temporary client systems. Thereby, these personnel arenot limited to sessions on server systems. Further, materials authoringcan be done on server systems, client systems, or on separate systemsnot interconnected with a given ABI system. To make authored materialsavailable, they are transferred to and indexed in the appropriate serversystem databases.

Alternative implementations of the functions described for the studentclient systems and the server systems are also within the scope of thisinvention. For example, it is known to those of skill in the art that bythe use of various technologies, such as remote procedure calls ormessaging, the functions pictured here as grouped together and on onesystem can be divided and distributed if needed.

5.2. System Hardware and Operating Software

The system elements illustrated in FIGS. 2A and 2B can be constructed onstandard hardware platforms meeting the requirements discussed in thissection.

5.2.1. The ABI System Network

It is important that students or teachers be able to access an ABIsystem from any adequate client system anywhere at the school, at home,and when away from home, as in distance learning. Portable student dataobjects and networks permit students and teachers to participate at morethan one school, and, further, permit delivery of homework andinstruction to remote locations. In each case the client system mustaccess instructional materials and ABI software from the network.

In various embodiments, a student can access one ABI system, as might bethe case for a student enrolled at one elementary school. Alternatively,a student can have access to multiple ABI systems or multiple providersof ABI-system compliant instructional materials.

Access to all system components is typically provided from ABI systemservers attached to the network. Preferably read-only software andread-only instructional materials are provided from server systems. Theadvantages over local storage of these elements at client systemsinclude simplification of version control and of access control. Thestudent is freed from insuring the client system accessed has all thenecessary software and manually transferring if not. Also server storageprovides greatly reduced client system storage requirements, in view ofthe large amount of software and instructional materials in ABI systems.However, in systems with limited communication bandwidth, it can bepreferable to cache recently used software and instructional materialsin order to shorten response times.

Networks suitable for an ABI system can be of any configuration andprotocol that meets the system's client-server communication and objecttransfer requirements, where the client is either a PC or a networkcomputer (“NC”). Suitable networks can be private or public. Thepreferred ABI network in the case of PC clients,according to currenttechnologies, is an intranet running the TCP/IP protocol suite andutilizing ATM technologies as appropriate. In one implementation,utilizing a single large server, such a server can be directly connectedto the intranet or Internet. In another implementation, utilizingseveral smaller servers, these servers can be connected into a clusterby a LAN, preferably an Ethernet LAN. In this case, the ABI network isbuilt from a local Ethernet LAN with remote connections to telephonelines using 28.8 Kbps modems, or other network links. In an alternateimplementation, the network can by visible to the public Internet ifadequate security systems (firewalls) prevent unauthorized access. Thiscan make wider access available at lower cost than by switched telephoneremote connections.

The ABI LAN can be further connected to other ABI LAN's and to othernetworks, such as the Internet, by standard use of routers and gateways.An exemplary protocol for an ABI System network is TCP/IP supplementedwith a client-server protocol such as HTTP and object transfer protocol,such as a multi-format mail protocol. ATM technologies are used asappropriate. Remote clients are expected to be indirectly connected tothe ABI network. These connections can consist of routing over a publicnetwork or direct dial-in connections. These connections can be ofeither low-speed or high speed. The ABI system can be implemented onnetworks such as @Home (Mountain View, Calif.), which use a combinationof ATM, cable modems, TCP/IP and other technologies. The ABI system canalso be hierarchically configured on new network topologies for distancelearning in areas with limited communications infrastructure. Primarycentral servers with ABI software and instructional materialscommunicate with remote secondary servers over broadband satellitecommunication systems. Student clients connect to the local secondaryservers through wired or wireless means.

5.2.2. The Client System

Considerations governing the choice of client hardware and operationsoftware are described next and are followed by a preferred client nodesystem according to today's technology. These consideration depend onthe content of an ABI system and the facilities of technology. As thecontent of a system changes and as technology evolves theseconsideration dictate that the preferred system will change.

The client hardware consists of client input/output (“I/O”), client CPUand memory, and client network access. Turning to the client I/Orequirement, standard input devices such as keyboard and mouse, or otherpointing device, are preferable. The client system also includesinterfaces to a portable student data object. Such interface canalternatively include a smart card access device, PCMCIA ports, standardparallel or serial ports, or floppy disk drives. Color graphics outputcapability adequate to support partial screen animations is preferred.Sound generation and output are preferable on ABI client systems.Text-to-speech conversion can be done either in software or in hardware.When economically available, full video capability, for example byproviding video decompression hardware such as MPEG decoders, and speechrecognition, for example with hardware assists, are also preferable.

The ABI system is also adaptable to special I/O devices appropriate tospecial student groups, such as the very young or the handicapped. Theseinclude, for example, simplified keyboards, touch panels, VR devices,and so forth.

Client memory must be sufficient to contain resident operating systemcomponents, resident ABI executive software, and dynamically loadedsegments of the student data object, instructional materials, and code.High performance CPU's together with high performance graphics hardwareand memory is preferable to enable more advanced presentation effects.

In embodiments where part or all of the ABI software is implemented inspecial languages, hardware or software assists for these language arepreferable. For example, where such a special language is JAVA™ (SunMicrosystems, Mountain View, Calif.), JAVA™ chips, which enhanceperformance of the JAVA™ interpreter, are preferable. The ABI clientnode in certain embodiments can be a JAVA™ enhanced network applianceadapted to Internet communication access and the HTTP V2.0, orequivalent client-server protocol.

It is preferable to eliminate the need for permanent data storagedevices, such as hard disc drives, by downloading all client softwarefor each session. This allows the use of low cost ‘network appliances’as student client computers. However, for those clients with lower speednetwork access asynchronous downloading can be used. Storage devicessuch as hard drives can be preferable for pre-fetching or caching ofread-only software components in order to reduce start up time. Todownload 4 megabytes of software using, for example, a 28.8 Kbps modemtakes over 20 minutes. In the case of caching on student client,standard version control methods known in the art are necessary toensure that only up-to-date software and materials data are used. If anelement is found to be out-of-date by querying a server, the currentversion is downloaded.

The portable media for the preferred embodiment of the student dataobject includes devices with storage and processing capabilities, suchas smart cards and PCMCIA cards with flash RAM and a microprocessor.Alternatively, portable hard or floppy drives as are commonly availablecan be used to store the student data object. Typically, this dataobject, including accompanying access methods, is approximately 100 KB,and preferably less than approximately 1 MB. In the case in which thestudent data object is stored on server computer, it is not be cachedbetween sessions so that it can be accessed from other client systems.

Client communication hardware can be adapted for either local or remoteattachment. Local access requires network access hardware; remote accessrequires a communication capability. This invention is adaptable tolower speed access over switched telephone line services, preferablyusing 28.8 Kbps modems or ISDN interfaces (64 or 128 Kbps). Thesebandwidths are adequate for sessions with materials using only voice andlimited animations. Pre-fetching and caching can be required to makefullest use of other materials at this bandwidth. This invention is alsoadaptable to high speed access over any available high speed links, suchas T1 (1.5 Mbps), T3, ADSL telephone lines, or cable modems (severalMbps), or other means of high speed access. These bandwidths permit fullaccess to materials without limitation. If economically available, highspeed access is preferred. With greater communications bandwidth, theon-screen agent can appear more life-like.

Standard client software includes an operating system and communicationsoftware. The operating system preferably has interfaces to client I/Odevices including communications capability and network access, such asa TCP/IP stack. ATM interfaces are present if necessary. Preferably, italso has means for establishing sessions with servers, for providingfile server services, and means for security as specified shortly.

The implementation language or languages of this invention preferablyhave several features related to the implementability, maintainability,and extensibility of ABI. The implementation language preferablyprovides a degree of modularity similar to that provided byobject-oriented programming languages. It preferably provides means ofdynamically loading across a network and executing additional softwaresegments during program execution. It preferably provides means ofaccessing all input devices and of controlling the output devices in ahigh level display object fashion. It preferably provides a threaded ormultiprocessing capability. Less preferably, this invention can beimplemented in any computer language, including assembly language.

In view of these needs and in view of the current technology, acurrently preferred client system is a IBM type PC with a Pentium™ 120Mhz processor, 16 MB memory, a 1 GB disk drive, a Soundblastercompatible sound card with speakers, a medium performance graphics cardsuch as a Diamond Stealth card with 2 MB of graphics memory, an Ethernetcard or a communication card and a 28.8 Kbps modem, and standardkeyboard and pointing device such as mouse. The operating system isWindows™ 95 with network services provided by a World Wide Web browserequivalent to Netscape 2.0 or better and capable of running Java™applets. Java™ together with standard system and graphics classes is theimplementation language.

5.2.3. The Server System

The functions of server systems of this invention include storage ofdatabases of executable software elements, of school-student data, ifany, and of instructional materials. Optionally, it can also storestudent data objects. The latter elements consist of heterogeneous andstructured elements. These elements can be stored in a relationaldatabase such as supplied by the Oracle Corp. or the Sybase Corp.; theycan be stored as specialized data files; or they can be stored in anobject-oriented database system such as ObjectStore (Object Design Inc.,Burlington, Mass.). The operating system of the server nodes mustsupport whatever database systems are selected as well as network andapplication server software to access the databases. Applicationdatabase server software of this invention preferably provides databaseaccess and version control and downloads database elements on clientrequest.

The preferred server hardware and software can vary widely depending onthe number of clients to be simultaneously served. This number can varyfrom 20 at one school to more than 5000 across an entire school system.The number of servers and database distribution across a server clustercan be adjusted by means known in the art to satisfy projected peakloads. A suitable medium performance server system can be configured ona high end INTEL Pentium or DEC Alpha system with adequate memory anddisk space. Windows™ NT is an adequate server operating system, andInternet server software similar to that from Netscape is adequate fornetwork access. The preferred database is an object oriented databasesuch as ObjectStore. In this embodiment, application database accessuses a common gateway interface (“CGI”) program also providing databaseaccess and version control. The CGI access program can be implemented inC++, a suitable object oriented programming language capable ofaccessing interfaces to ObjectStore databases.

5.2.4. ABI System Security

Security and access control present additional client, server, andportable media requirements which are importantly part of animplementation of this invention. Security and access control can bemaintained by careful selection of management policies, securitysoftware, and security hardware. These elements are described in thissection in the order of authorizing and controlling access, operatingsystem and network security requirements, implementation languageissues, and portable student data object security.

In a preferred embodiment, the primary means for authorizing andcontrolling access are passwords. System management of passwordspreferably includes ensuring that user passwords are secure, not easilyguessed, and are periodically changed. This invention is also adaptableto any other means of access control, including for example, passive andactive identification cards and recognition of certain personalcharacteristics, such as voice. Access protection can be preferablyprovided by limiting access to system resources—database and file—basedon a user's password. For example, access protection can be implementedin the CGI application access programs.

The operating system in clients and servers of this invention ispreferably of a tested security level. This base security can beenhanced by a variety of techniques and tools that can provide increasedlevels of security for additional investments. Such techniques and toolsinclude firewall machines, that is dedicated network gateways thatfilter incoming and outgoing packets according to content criteria, andmonitoring software, such as tripwires, that observe system events forsuspicious combinations. Further, encryption can help protect sensitiveand valuable data from illegitimate access by those without the key.Encryption in hardware and software can be provided according to methodsknown in the art, such as the Rivest-Shamir-Adelman (RSA) public keyalgorithm or the data encryption standard private key algorithm.

For those embodiments and materials data that download executable codesegments, the implementation language importantly should address thesecurity exposures thereby created. For example, a malevolent andknowledgeable user can create or modify the downloaded code to performillegitimate operations within the client system or access restrictedinformation from the server. The Java™ language is preferable in theseembodiment because it now significantly addresses these problems andfurther improvements are constantly being made. Examples of Java™security measures include limiting access to client system resources,particularly the file system and network connections, preventingdownloaded software from “spoofing” local software, and providingbyte-code verification to test code for possible security violations.Any implementation language for an ABI system preferably offers similaror improved security features.

Additionally, it is advantageous to protect a portable student dataobject from being altered in an unauthorized manner, corrupted, ordamaged. When ABI system compliant materials can be downloaded frommultiple ABI systems or educational providers, particular care isadvantageous to ensure correct functioning of these materials. Suchstudent data object protection is accomplished by validating downloadedsoftware and by encryption and key management for the student dataobject.

Software validation includes registration procedures and runtime accesscontrol procedures. Before software or materials can be downloaded, theyare preferably registered with an ABI system registry function, whichcan reside on a network accessible ABI server system. Beforeregistration, proposed software is formally or informally inspected toensure that it is safe, that is that it does not cause illegal orundefined system states. As previously described, a safety inspection isfacilitated if the software is written in Java, which permits formalsafeness checking. Also, the software is inspected to ensure that allmodifications of the student data object are appropriate, that is thatall modification reflect correct use of queried or updated fields. Uponpassing these inspections, software is given a system identifier and itsexecutable or interpretable forms are given a digital stamp by achecksum or cryptographic hash function to insure its identity. Thesystem identifier is stored in the registry along with the digitalstamp.

At runtime, when the student requests access to particular ABI systemcompliant material or software from a provider, the student data objectaccess control methods on the client system perform the followingchecking process. First, these procedures generate a request to theregistry function to verify the software to be downloaded by providingthe registry with the software identification. If the server respondsthat this software is not registered or authorized, the download requestis rejected. If this identifier is validly registered, the registryreturns the digital stamp associated with this identifier. The accesscontrol then downloads the software or material, recomputes thecryptographic hash function or checksum, and compares it with theregistered value. If they do not correspond, the download request isalso rejected. If they correspond, the software is assumed to be safeand correctly identified, and the access control sets indicated accessauthorizations. Such access authorization can limit this software toaccess only particular components of the student data object and withonly read or read/update permissions.

Additionally, during access to the student data object, the accessmethods can consult rules so that clearly incorrect patterns of accesscan be rejected. For example, a clearly excessive rate of parameterupdate can be caught and rejected.

In addition to software validation, procedures for access control,encryption, and key management of portable student data objects areadvantageous. As the portable student object is an important repositoryof agent knowledge, temporary instruction materials state data, and,optionally, educational progress data, it is important that it not bealtered or corrupted accidentally or maliciously. To achieve reasonableand effective protection, first, the portable student data objectadvantageously includes the student's password, or other identificationmeans, in a protected form when this object is plugged-in to a clientsystem, a preliminary access control method insures that the student hassupplied correct identification to the client system.

Second, the student data object data is advantageously encryptedwhenever it's data is present in a manner freely accessible by theclient system. Therefore, in embodiments such as portable hard or floppydisks, the student data object data is stored encrypted on the disk.Portions are decrypted in memory only in response to specific accessmethods. In embodiments, such as smart cards or PCMCIA cards withprocessing, which provide for method processing as well as data storage,the data can be internally stored in plain text. However, whenexternalized, the data is encrypted. Such externalization is necessaryin case student data object backup facilities are provided. For backup,internal data is externalized as a encrypted, sequential, stream whichcan be stored and recovered from a backup system.

Such student data object encryption can be supported by key managementschemes known in the art. For example, a public-private key scheme canbe utilized. A student's public key can be stored on the ABI systemwhich processes student system logon requests, and returned to theclient upon student logon. The private key is stored in a protectedmanner in the portable student data object. Thereby, after student logonto the ABI system and validation by the portable data object, both keysare available to decrypt or encrypt data as required.

5.2.5. ABI System Usage Metering

Each student receiving ABI instruction on a specific topic is presentedwith a combination of instruction, utilities, and on-screen agentinteraction. Because the ABI System provides individualizedinteractions, each such presentation comprises a unique mixture ofvisual, audio, and software elements. Also, each user's consumption ofhardware and communications resources differs. The ABI System thereforepreferably incorporates metering technology to track the utilization ofthe different elements of the ABI System. Such information can be usedto determine payments to the creators or providers of these elementsand/or as a basis of charges to the user. Further, this information canbe used by ABI System providers to determine absolute and relative usageof various components of the system. Parties interested in suchinformation include providers of server hardware, application software,networks, instructional and tool content, authoring tools and on-screenagent animations, scripts and utterances. Finally, this information canbe used to monitor system performance and utilization.

Current metering technology does not provide the detailed measure ofusage that is advantageous to ABI System providers. Such technologyadapted for network distribution of content is available from, e.g., theIBM Corporation, as the IBM Cryptolope, and Electronic PublishingResources (EPR), as the Digibox.

The ABI system comprises hardware elements, standard software elements,special application software elements, and content elements typicallysupplied by different providers. Hardware elements include networks andother communications links, server CPUs, and disks. Standard softwareelements include operating systems, database packages, andcommunications software. Application software includes instructionalplayback engines, schedulers, and agent software. Content includesinstructional materials, utilities such as dictionaries andencyclopedias, and on-screen agent animation and utterances.

ABI metering comprises the elements of the metering utility software, oftagging of all ABI component elements, and of the preferred methods ofmonitoring. The pricing and compensation model is preferably provided bysystem administrators. The ABI Metering Utility Software (“The MUS”)measures usage and maintains usage data in a ‘multidimensional usagemodel’ during each student session. The MUS is resident at run-time onthe student clients and the system server(s). In the student client, theMUS is a component function of the Session Manager with inputs derivedfrom the Executive Software, Agent Software and the Materials Engine. Inthe Server system, MUS is a component function of the System ManagerSoftware.

To facilitate metering, each ABI element is tagged with an ownershipidentification code similar to a product barcode. The first digitsindicate ownership and subsequent digits indicate the specificcomponent. As the elements move through the system from server to clientand within the client, the use of these elements is metered. In theclient software, the Materials Engine uses materials ownership tags tometer content. The agent utterance generation and visual displaygeneration uses tags of the data snips to track ownership of on-screenagent actions. The session and screen manager keeps track of whichelement of the screen is active.

This invention is adaptable to any method for measuring usageappropriate to the particular component elements. In particular, fourpreferred methods of measuring usage are by-time, by-interaction,by-unit and by-packets. The by-packet method is performed at each serverto track usage of communications resources. This method is preferablyimplemented by using a count of the number of bytes transferred in orderto estimate the number of packets transferred. The ABI applicationsoftware keeps track of counting the number of bytes transmitted to theuser according to content type (i.e. system packets, instructionalmaterials. or elf animations). Then based on the network transferprotocol used, the byte count may be converted to a roughly equivalentpacket count. Alternatively, the byte count may be used directly as ameasure. In the case of multiple servers, each server sends a summary ofpacket transmission information to a unique metering utility server.

The by-elapsed-time method is performed at the client. In this method,the Screen Manager at the student client keeps track of the multiplesimultaneous on-screen activities such as instructional materials, theelf, and the dictionary. This method preferably further monitors theactive element of presentation, that is, the element performing anaction or the focus for student input. In a more limited alternateimplementation, the connect time of the student may simply be measuredat the server. To avoid network problems such as lost connections andmissed session signoffs, the System Manager application at the serveradditionally periodically obtains session statistics during a usersession, either by polling the student client or from timed clientdownloads.

The by-units method is preferably implemented either at the server or atthe client. This method measures the content accessed by the client. Forexample in the case of instructional materials, the server records thespecific lesson accessed while the client records the completion ofexercises. In the case of on-screen agent actions, this method recordseach completed display or animation sequence or utterance.

The by-interaction method is preferably performed at the client andrecords both fine-grained interactions, such as clicks and keystrokes,and the medium grained interactions, such as completed responses andmeta-requests. This method when combined with the by-time or by-unitsmethods provides an indication of the relative level of interactivity ofthe instruction. For example, during use of instructional materials, theby-interaction methods measures the actual usage of each resource suchas agent processing.

Usage of the different ABI elements is preferably metered by anappropriate method. The methods described above are not uniformlyadvantageous to different types of presentation. A graphics designermight seek compensation based on the amount of time a design is on thescreen, while the instructional designer might seek compensation basedon the fraction of the lesson completed. Accordingly, theby-elapsed-time method is preferred for graphics designers, while theby-units methods is preferably used to record the publisher and lessonfor instructional materials, the type and author for tools material, andthe creators of the animation and utterance for on-screen agent actions.The by-packet method is preferably used to record the source of thenetwork traffic such as access to the student object database ordownloading of application software, instructional materials, oranimation data snips. The preferred metering methods provide informationneeded for the typical owner compensation and user pricing models.

In its preferred embodiment, system administrators provide pricing andcompensation models. This invention is adaptable to many alternativesuch models. One user pricing model is a flat rate based on the type ofinstruction being made available, similar to pricing in the cableindustry. Another is based on connect time, as frequently done forInternet access, or on type and quantity of information retrieved, as iscommon for on-line database access.

TABLE 1A illustrates an exemplary model for compensating providers ofABI system elements. Compensation is based on metering data and anallocation model. The four metering methods are applied selectively todifferent providers. The allocation amounts ‘a’, ‘b’, ‘c’ and ‘d’ areexternally determined.

TABLE 1A TYPICAL MODEL OR USING METERING INFORMATION PROVIDERSCOMPENSATION FOR PROVIDER Billing/Network ‘a’ percent Server HardwareProviders ‘b1’ percent divided up according to number of packets with upto ‘b2’ percent additional if total number of packets exceed apredetermined level Instructional Materials ‘c’ percent divided upaccording Providers to units Calendar/Schedular Provider Up to ‘d’percent based on level of interaction Animation Providers ‘e’ percentdivided up according to ‘time on screen’ ABI Client/server SoftwareBalance of revenue Provider

5.3. The Instructional Interface

The ABI system has interfaces for students, teachers, and administrativestaff. Materials and software developers can have specific ABI systeminterfaces. Alternatively, such development can occur on separatesystems followed by indexing and loading of the developed componentsinto the appropriate databases.

5.3.1. Student-System Interface

This section describes the structure and design of the student-systeminterface. This description is directed to the currently preferredimplementation of this interface by a series of visual display screens.However, this invention is not so limited, and adequate alternativetechnologies, for example voice output with speech-recognition input,can be used to implement this design.

5.3.1.1. Exemplary Student Screens

During materials presentation, a student sees screens of one or morescreen types, all formatted in accordance with the previously describeddesign principles. Screens are structured as a hierarchy of areas andsubareas with text, graphical, animation, and perhaps video objectsdisplayed in the subareas. Objects can either be for display only orpermit student input or interaction.

An important screen type is a task screen. Task screens are used formaterials presentation tasks such as homework assignments includingproblems, programmed steps, mastery quizzes, and drills. Table 1 andFIG. 3 illustrate exemplary components of a task screen appropriate forelementary education. Reference numbers in Table 1 are from FIG. 3. Ingeneral, in system area 302, the session manager presents objectsvisualized as icons permitting the student to easily access ABI systemfacilities. In materials area 304, object presentation includingdescription, placement and movement, is specified by the materialsdesigner in the presentational and sequencing sections of the materialsdata. The materials engine interprets these specification at run time tosend display objects for display. In agent area 303, agent behaviorprocessing formats predefined parametrizable objects, includingresolution of object parameters, representing selected agent personae.The output from all selected and formatted display objects is sent tothe executive software and operating system for ultimate display to astudent.

TABLE 1 STUDENT SCREEN DISPLAY ELEMENTS

In more detail, the task screen of FIG. 3 includes in system area 302student customization area 305. In the customization area, the studentcan display objects given by the agent as rewards for studentaccomplishment. These objects can include text, as illustrated here,graphics, or animations. Another part of the system area is file systemtoolbar 306 displaying accessible files as icons in a “book-on-shelf”metaphor. This invention is adaptable to other reasonable file systemdisplay metaphors. Here, for example, the book icons represent a filepersonal to the student, a file holding ongoing instructional materials,a file of e-mail, and files for tools such as a dictionary and groupactivity. Below file system toolbar 306 is toolbar 310 for tools thestudent has access to. Illustrated here are icons for a calculator, aword processor, communications, and starfish, a general purpose languagetool.

“Starfish” are a visualization tool for semantic networks that can beavailable in an ABI System. A semantic network typically consists ofnodes linked to other nodes by semantically significant and named links.A starfish tool visualizes such a network for a student by displayingthe node centrally in the body of the starfish with the node's linksdisplayed as arms of the starfish. For example, a dictionary representedas a semantic network might include a node for each word with links tosimilar words, opposite words, root words, and so forth. A dictionarystarfish displays a word in its body. Each selectable arm is labelledwith a category—synonym, antonym, pronunciation and so forth. Clickingon an arm causes the corresponding word(s) to be displayed or spoken.Such a tool provides integrated display of diverse knowledge structuresfor a student.

The scheduling/calendar tool is an important tool that is alwaysavailable. Exemplary icon 309 illustrated for this tool has calendarpart 307 and clock part 308. Selection of each of these parts brings updaily and monthly scheduling functions. These function can eitherprescribe the student's next activity or permit choice where the studenthas excess time or demonstrated personal scheduling ability.

In materials area 304, instructional materials, tools, andcommunications materials display their content. Illustrated in FIG. 3 ispage 3 of an exemplary mathematics homework. Instructional materials areadvantageously structured as a book of exercises and items, emulatingcurrent textbook and workbook practice. In this case, section tabs 312permit the student to navigate the homework book by sections, and pagebuttons 321 permit the student to navigate the homework book by page.Also present is toolbar 317 of available student actions, which forhomework includes submit and can, if the agent permits, include help andhint requests. The format of a materials page is advantageouslystandardized. An exemplary standardization has header information 314,presentation 315, and interactive input area 316.

On-screen Agent area 303 allows the student entry of meta-requests andallows the agent to display synchronous or asynchronous meta-responses.This exemplary area illustrated it in FIG. 3 comprises meta-requestbutton 320 which the student can activate to display a list of currentlyavailable meta-requests. Student meta-requests are generally allowed bythe ABI system at any time. Requests may occur at the beginning, middleor end of instructional sequences, in choice screens, in tools, in groupcommunications, or in the calendar. Agent meta-responses areindividualized and context dependent. Typical meta-requests areillustrated in Table 1B. As an example of context dependence, if therequest ‘Where am I?’ occurs within a lesson, a graphic representationof the lesson will be shown; whereas if the same request is made betweenlessons, a graphical representation of previous lessons and new lessonswill be shown. The agent software attempts to respond based on theuser's intention and uses the context and previous requests to infer thereason for the current request.

TABLE 1B TYPICAL META-REQUESTS TYPE META-REQUEST Temporal: Timeremaining in ‘How far along?’ ‘How much current unit/session/days worklonger?’ Marker: name and description of ‘Where am I?’ currentlesson/exercise; relative position in lesson Pause: Repeat ofinstructions: ‘Say it again.’ ‘Say that summary of what has been doneanother way.’ Performance: summary of work in ‘How am I doing?’ currentlesson Choice: Branch to take. e.g. ‘What do I do next?’ which lesson todo next Purpose: function of current ‘What is this for?’ lessonResources: assistance available ‘I need to hint.’ ‘I need at this pointhelp.’

The instructional materials notations provide a framework for the agentsoftware to keep track of the relative position of the student in thelesson. This same information is also available to the teacher forlesson preview and annotation.

The remainder of area 303 is for agent meta-responses, which importantlyhave multi-media structured into personae. Illustrated are text message318 and visual persona 319 that typically includes animation. Alsopossible is audio output, either text-to-speech or generated from audiofiles.

FIG. 4 further illustrates an exemplary screen interaction between thematerials and the agent. FIG. 4 shows only the content of materials area501 and on-screen agent area 502 of the complete display screen of FIG.3. A mathematics homework material is displaying item presentation 503with input selection buttons. The student has selected wrong inputbutton 504. At this educationally significant event, the materials sendto the agent several messages generated by notations in the materialsdata. In response, the student's agent has chosen to act as illustrated.First, it displays text 506 of the rule violated by the student answer.This text was sent to the agent by the materials in an event message forits use. Second, the on-screen agent points 505 to the screen locationof the error. This location was also sent to the agent by the materials.Third, perhaps in response to a previous high or increasing error rateof the student, the on-screen agent presents a meta- response 508commenting on the pedagogic nature of the student's error. Further, itactivates a persona 507 to engage the student's attention. This personacan advantageously include animation, audio, and speech output of thedisplayed text. Thus, the agent software integrates speech utterances,visualization, display of text and graphics, and animation into apersona display for highlighting an educational event that the agentdetermined important based its processing of the current input, paststudent inputs in this lesson, and the student's pedagogic modelgenerated over several sessions.

Other screen types are of importance in an ABI system. For example,tools can have distinctive screen types appropriate to their nature,such as a calculator image. Choice screens can be used at thetransitions between instructional sequences. They summarize whatinstructional materials have just been completed, announce statusinformation, and list any materials choices now available to thestudent. These choices can related to instructional materials to beundertaken next or to optional, non-instructional materials, such asexchanging credits for time in a game room, access to e-mail, and soforth, that can be available to the student.

5.3.1.2. Student Actions

The inputs of a student or other user of the ABI System are preferablyclassified as requests, meta-requests, or data. A student request is aninput directed to materials or to the system seeking a specific action.Student data is an input responding to a system request for information.For example, student requests include an input to the system to startthe calculator is a request, or an input to certain materials to submitcompleted homework to the teacher. However, input of numbers into thecalculator is data. This invention is adaptable to a further particulartype of data input, termed semiotic, in which the student selectscertain signs or symbols to provide input. Semiotic input isparticularly advantageous when the agent requests the student to reporthis feeling or appreciation for a particular educational event.Meta-requests are inputs directed to the agent seeking specific actions.For example, student input to the agent seeking hints during the currentmaterials is a meta-request.

Displays produced by this invention are preferably classified asapplications, responses, meta-responses, or questions. Applicationdisplay occurs upon system initiation of an available material, forexample, an instructional material or a tool. Application displayusually occurs in response to a student request, but can also occur onsystem initiative. For example, the agent can request the system to makea tool available to the student. Responses are all displays produced bymaterials or by the system. For example, responses include materialspresentation display and display on the adequacy or correctness ofstudent input. Meta-responses are all displays produced by the agent.These can be synchronous, generated by responses to a studentmeta-request, or asynchronously, generated by events sent to the agentfrom the materials. Questions are a particular form of response ormeta-response which seek further student input. Questions engage thestudent in a form of a dialogue which is an integral component of thetutoring interaction.

FIG. 5 illustrates an exemplary segment of the interaction of thestudent and the system that can occur during a mathematics homework. Itillustrates both how responses and requests are distinguished frommeta-responses, and meta-requests and also how the agent, through itsobservation of the student's current situation and its contact with paststudent history, is able to guide the student better than the materialsalone, which are only aware of the current context. This display isindividualized to the student's current and past performance andpreferably uses realistic, life-like on-screen personae to engage thestudent. Displays from the ABI System directed to the student areindicated generally on the right; inputs from the student directed tothe ABI system are indicated generally on the left; and time increasesdownward. The diagonal arrows, as at 401, indicate that the message atthe arrow's tail leads to the message at the arrow's head.

This illustration begins with response 402 from the mathematics homeworkmaterials suggesting that the student use the calculator tool. Thestudent responds with request 403 which selects the calculator icon torequest the calculator. Calculator application 404 is then activated anddisplayed by system components. Data 405 is a student input to which thecalculator tool, and response 406 indicates a student error. Thisresponse was apparently not sufficiently informative, and data 407 is arepeated incorrect input to the calculator tool. The student's agentobserves the course of this interaction as the calculator tool sendsevent messages to the agent. Upon observing the repeated wrong input,the agent intervenes with a asynchronous meta-response 408 summarizingrecent student inputs. The student responds with meta-request 409 to theon-screen agent for help, since the tool responses were apparently notsufficiently helpful. The agent's synchronous meta-response 410 suggestsfor consideration an entirely different approach to correct thestudent's recent error.

5.3.1.3. System Responses

The following general principles preferably guide system and materialsresponses and agent meta-responses. First, some display is to be made onevery user input, if only to echo a character or mouse click. Second, auser is never to be left in doubt about the status of current tasks. Forexample, the system preferably provides task specific hints orsuggestions if no user input is received in a time period adaptivelydetermined. Third, all responses reflect the current context.

Further, importantly, aspects of system responses should be adapted tothe particular student audience, from elementary to adult education andincluding special classes of students. This tailoring can be set by theteaching or administrative staff. One adaptable aspect is the languagelevel and the language of system responses—for example, the vocabularyand language of help services, messages, and tutorials—is preferablyadjustable. Another important adaptable aspect is the type of personaeof the on-screen agent is preferably adjustable. The types ofencouragement, level of jokes, and so forth, depend closely on theintended student population and are advantageously adjustable. Further,tools are also adaptable. Each tool is also advantageously enabled ordisabled for each student. Mail and communications tools, for example,can be made unavailable for the lower grades. File creation and deletioncan require strict controls. Also, certain tools can have differingcomplexity levels suitable for differing student levels.

In addition, certain ABI system components have particular preferableand advantageous features. These are listed subsequently. Importantly,meta-response selection is preferably shaped in view of the student'spast baselines of speed, performance accuracy, modality, as specific tothe type of materials. Moving average functions, in which recent valuesare given higher weight than earlier values, can be used advantageouslyto generate baselines of performance and timing. The timing ofmeta-responses is preferably based on student data object fields thatrecord the amount of help asked for in the past and past performanceprovided.

Further, the pacing of meta-responses is advantageously contextsensitive. For example, remediation should be offered only in case ofrepeated error or hints offered asynchronously only after a relativelylong period without an answer. Also, previous student interactionsshould be utilized. Repeated requests for hints should be noted anddealt with perhaps not with another hint but with remediation. The rateof prompts, advice, and hints should be adaptively adjusted on the basisof ongoing performance records.

The actual content of a meta-response can be adjusted to the currentsituation by filling in parameters from event messages sent from thematerials. See infra. The Instructional Materials Interface Standard(“IMIS”) is a key element in providing information to the student inresponse to inquiries such as “Where am I?”. The system then uses theinformation in the IMIS to respond, “You are halfway through the drilland practice on fractions,” for example. A student request for furtherinformation can elicit a graphical response. The graphical responsesreinforce the virtual tutoring aspect of the system by providing agreater level of detail in a format similar to that presented by a humantutor. The format of the graphical method used is individualized to thestudent's past use of system components such as previous graphicalmeta-responses and tools such as the scheduler/calendar.

The structural information for the agent software to construct graphicalresponses is derived from lesson notations, previous studentperformance, previous agent responses (including graphical responses)and the scheduler/calendar. Marker requests use general notations forthe type of lessons and specific notations for prerequisites. Temporalrequests use notations of expected time together with profileinformation on individual performance on that type of material.

Typical predefined graphical response templates include road maps(perhaps in the form of a train and subway map), charts, table, graphicsand icon flow charts. Colors can be used to the show relative levels ofperformance, urgency or dependency of elements. In response to a ‘How amI doing’ request, green might indicate good performance; yellow,adequate performance; and red, needs immediate attention. Similarly, theshape of the icon might indicate its function such as a diamond forcaution or a hexagon for stop.

FIG. 12 illustrates an exemplary dialogue starting with the studentmeta-request ‘where am I?’. The on-screen agent then make ameta-response containing a summary of the student's progress, forexample “You are one quarter through the lesson on adding fractions.”Next, the student might request further information. Preferably theon-screen agent will point to the location on the diagram and say “Youare here.” If the student then clicks on an element of the chart, theagent will provide further information. For example, clicking on thePractice Box will provide a meta-response containing a flow chart ofthis upcoming activity, as generally illustrated.

Preferable Calendar/Scheduler Responses and Their Selection

The calendar scheduler is advantageously capable of providing thefollowing responses. These are controlled by schedule data fetched fromschool-student data areas and are processed by the calendar/scheduletool. Preferably, the student data object contains only personalschedule data for the student. The calendar/schedule tool and thestudent's agent can obtain schedule data both from school-student areasand from the student's personal schedule areas.

1. Schedule reminder responses, which remind the student of deadlinesfor materials tasks in the system or for external activities, such asgetting a parent's approval for a class outing.

2. Task sequencing suggestion responses, which suggest an order ofassigned tasks based on student history and on the assigned priority anddeadline.

3. Timing estimate responses, which estimate how long a task will takebased on timing information entered as part of task in the instructionalmaterials and on past relative performance for this student.

In one embodiment, the ABI system provides for of scheduling initiativeto be divided between the student and the system. Settable task scheduleparameters permit, at one extreme, the student to have completescheduling control, able to initiate and to exit any activity at will,and limit, at the other extreme, the student to work on only thosematerials that the system schedules. These schedule parameters includethose controlling the tools and options available to the student whileperforming a given task and those requiring the student to performbackground reading or remediation. Important initiative parametersinclude the scheduling values of task priority value and deadline. Ifthe priority and date are not both “off”, those tasks with greaterpriority and earlier deadline are automatically scheduled for thestudent. If these values are “off”, the student has control of taskscheduling.

The system of this invention also includes a central list of timedactivities, perhaps stored on the server systems, to be performed by thesystem. These can include regular times for the generation and printingof standard reports or for the broadcasting messages concerning groupactivities such as spelling bees. These timed activities can beperformed by scheduling software which compiles the timed activity listsand initiates the listed activities at their listed times. Suchscheduling software can be similar to the “at” utility in UNIX operatingsystems.

5.3.2. Teacher/Administrator-System Interface

In the case where a teacher supervises a student's education, theteacher or the teacher's representative plays an important role in theABI system. The teacher uses the system to perform such functions asentering initial profiles in student data objects and school-studentdata areas, assigning students to subgroups, previewing, annotating andscheduling assignments, reviewing and commenting on completed homeworkassignments, and reviewing summary reports.

In this setting, the agent of the student is also an agent of thestudent's teacher in that the student's teacher controls key parametersin the student data object and the school-student data area, which inturn can direct agent actions. The teacher customizes the ABI system byinitializing and supervising school-student area and student data objectparameters, assigning and prioritizing assignments, and customizingmaterials. Important teacher activities are included in the followinglist.

1. The teacher initializes and exercises continuing control overimportant data in the school-student data, and in this manner supervisesthe student's use of the system. For example, the teacher controls theaccess and level of tools available to the student and limits the extentto which the student can alter agent personae.

2. The teacher controls the student's use of the ABI system byassigning, scheduling, and prioritizing the student's access to thematerials. This is accomplished by teacher control over the schedulesubtype in the school-student data areas. For example, the teacher canschedule tasks that must be completed on the ABI system, schedulenon-system tasks, remove tasks or modify their priorities.

3. The teacher can customize materials available to the students. Theextent of routine customization includes modifying sequencing ofinstructional lessons, elements, and items, choosing the homeworks thestudent must complete, specifying the formats of homework assignmentshaving some student discretion, such as reports, sending messages tostudents.

4. The teacher's class management is aided by a facility to sendmessages, reminders, hints, etc. to students using the ABI system e-mailfacilities.

The system can advantageously assist the teacher in homework management.Once the student completes and submits a homework assignment, a printedcopy can be made for the teacher and the student. The homeworkassignment can be graded by the ABI system, if answers were provided aspart of homework material. The teacher can add comments for the student,if homework is viewed online by teacher.

The system can advantageously also provide the teacher with summary anddetail reports for each student and class. These reports can beimmediately available online or printed for later review. As known inthe art, reports can contain both current and cumulative data oninstructional progress and homework assignments. The reports can alsoflag patterns of deficiency in a student's homework and problems in astudent's instructional progress. In a preferred embodiment, thesereports are generated from the database of school-student data forwardedto the school server systems by the students' agents.

Additionally, the teacher can be a student. A teacher can benefit fromtraining in the use of the ABI system in general, in the procedures tocustomize materials, and in the characteristics of the particularmaterials used in that teacher's class. This training can advantageouslybe to packaged as instructional materials directed to the teacher whichare otherwise similar to student instructional materials. In this case,the teacher, like the student, has accessible materials, a teacher dataobject recording the teacher's progress and pedagogical characteristics,and an agent using this data object to guide the teacher's training andguide the teacher in the use of the system. As for the students, theteacher data objects can advantageously be stored as portable teacherdata objects.

Other actors, such as school administrative staff, parents, andresearchers, can play a role in the ABI system. Administrative staff canhave privileged access to certain data items in the student and teacherdata objects and other system data, which permits them to assignstudents to courses, to assign students to teachers, and to establishinstructional performance standards and criteria which the students mustmeet to complete their materials. This staff can also receive online orpaper reports on the progress of students in the schools, theeffectiveness of teachers, and the usefulness of the particularmaterials assigned.

Reports and Queries

Generation of reports from databases, either relational orobject-oriented, is a standard programming task. The key elements ofthis task are the selection of data to appear in the report, the way inwhich selected data is to be presented whether in a summary form, adetail form, or both, the format in which the data is output, and thelayout of data output elements on the screen or page.

The teacher and administrators require several types of reports.Periodic reports need to be generated at regular intervals. These varyaccording to population: by student, by class, by grade, by school. Theyalso vary by subject. The reports can present/summarize complete sets ofdata or only data exceeding stated limits. Some of these reports fulfillmandatory reporting and record keeping requirements, and some are sentto parents. The ABI system also provides teachers and administratorswith standard querying and report generating capabilities.

If appropriate, parents can also be actors in an embodiment of the ABIsystem. A student's parents can be given access to certain fields intheir student's data object and school-student data areas in order thatthey can receive rapid information on their child's assignments andperformance. This information can be made available at home on the sameclient system that their student receives instruction and homework.

Finally, educational researchers can receive certain access to ABIsystems in order to research the effectiveness of educational theoriesand methods. For example, they can efficiently compare the effectivenessof various educational paradigms in certain instructional contexts byreceiving reports relating to students pursuing materials constructedaccording to the paradigms of interest.

5.3.3. Instructional Designer-System Interface Designer InterfaceOverview

Materials, in particular instructional materials, are authored byinstructional designers. Authoring of materials can be done on thesystem on which the materials are to be used, or alternatively, on aseparate system. Generally, an instructional designer authors materialsincluding, for example, computer assisted instruction as known in theart, computer assisted exercises such a homework or simulation, andcomputer managed student instructional tasks which can involve work withseveral materials. For all materials, the student's agent must beinformed of the sections completed and skills acquired in standardformats.

Designer Interface Details

The ABI system provides an environment in which the student's agent isavailable to control materials presentation and guide the student toimprove educational outcomes. This environment includes facilities topresent assignments, assess responses, probe for prerequisites, offerassistance with tools such as dictionaries, and score unit masteryquizzes. The system can advantageously include conventional forms ofhomework, such as work sheets, as well as new types of homework, such asgroup-based homework, and formats previously too time consuming forteachers, such as criterion based rather than fixed length orinteractive rather than prescriptive. Advantageously, the systemstructure can accommodate existing forms of computer assistedinstruction by embedding such existing instruction in materials of thisinvention which contain notations and generate agent event messages.

All authoring information below can be provided by the instructionaldesigner, if preferred. In this case, defaults allow the teacher toenter only overriding information where needed. Alternatively, theteacher can be allowed or required to make various degrees ofcustomization. In this section, the term “exercise” means a single unitof an instructional task.

The run-time conversion of materials with descriptions of text, graphicsand animation advantageously is performed by methods commonly used ininteractive multimedia Authoring Software. Existing authoring programslet the author specify the attributes and behavior of multipleindependent display objects through such programming paradigms as visualprogramming or scripting languages. For example, to display a button orother selectable object, a user of authoring software specifies suchcharacteristics as position, attributes such as size, shape, color, andlabel, and the function invoked by the object selection.

Among the most widely used of the many available products areMacromedia's Authorware and Director, Asymetrix's Multimedia Toolbookand Aimtech's IconAuthor. These programs have been documented by theirmanufacturers and other writers (Sims, Authorware with Style;Swearington et al., Macromedia Director Design Guide; Hill, UsingMultimedia Toolbook 3.0).

The process of authoring an instructional task is advantageouslydescribed sequentially to include the steps of, for example, definingthe task, defining each exercise, judging student inputs, definingexercise completion, and augmenting the materials with notations for theagent.

In the authoring step of defining the task, the instructional designeradvantageously provides information including initial instructions forthe entire task in a written and preferably also a spoken format withalternative wordings as necessary for special classes of students. Thedesigner also provides materials sequencing in accord with the educationparadigm chosen. Instructional sequencing is appropriate for interactiveinstruction with feedback. Homework sequencing can include a fixedorder; a student defined order; a student defined order assisted byteacher prioritization into such priority groups as essential,important, or optional; and sequencing defined by performance tocriterion on individual item subtypes.

In the authoring step of defining each exercise, the instructionaldesigner advantageously provides information including the following.The designer chooses names for this task and exercise, itsprerequisites, and the skills to be acquired in accordance with schoolsystem standards so that the agent can meaningfully track studentperformance and provide helps, hints, and remediation. Next, thedesigner provides student instructions for the exercise, preferably inboth spoken and written formats. Next, the designer specifies thepresentation of the exercise by creating graphics and text for theexercise and by specifying their display attributes. Next, the designerdefines allowable user inputs, the data type of input, and the displayareas in which input is allowed. Finally, the instructional designerprovides hints. Hints preferably include optional hints offered onstudent request or student inactivity and hints offered by the agent incase of totally inappropriate actions.

In the authoring step of judging student inputs, the instructionaldesigner advantageously provides information including the following.First, the designer defines standards for the completeness of requestedinputs and actions, possibly none, in case of incomplete inputs. Anexemplary such action is suggesting the completion of omitted inputs.Second, the designer selects how inputs are to be judged and thepossible judgements, for example, correct, near miss, incorrect, and soforth. Finally, the designer selects error responses to individual inputelements or an entire exercise. These responses can be uniform or canreflect the specific wrong answer. Error responses include retrypolicies and selection of remediation paths. Remediation can be itemsequencing options given on the basis of retry outcome.

It is preferable that response judging be performed according to certainstandards established for a particular implementation of this invention.Thereby, the agent can monitor the student's pedagogic characteristicsin a uniform fashion across all standardized materials. Accordingly, afirst step in input judging can be, where appropriate, checking the datatype and perhaps range of an input. For example, checking that afraction is entered in response to a fraction addition problem.Appropriate feedback can be given if the wrong data type or range isinput. Single student inputs can include entry of a single text ornumeric element, movement of a single display object, selection of asingle display object, or drawing a line or curve perhaps encircling adisplay object.

A second step in input judging can be classification of a suitable inputin standard error categories. In an exemplary embodiment, this can beperformed by providing a pattern corresponding to a correct answer. Thepatterns can be a template appropriate to the suitable input, such as atext template or a spatial template. A pattern matching procedureselected from a system library of such procedures can be executed tomatch the input to the pattern. The output of the system matchingprocedure is advantageously selected from a limited number of standardjudgements of correctness and partial correctness. This judgement isthen communicated to the agent in an event message in order for it toguide its student and adapt its pedagogic model. This invention isadaptable to templates and pattern matching procedures known in the art.Patterns can include one or more parametrized text templates, spatialtemplates defining the relative positions of objects to be moved by thestudent, selection templates specifying patterns of selections. Further,spatial templates can include outlining areas of the screen, shapes ofdrawn objects, maze traversal, and tool inputs.

Turning to the authoring step of defining task completion, theinstructional designer advantageously provides information includingstandards for input, exercise, and task completion. The materials canrequire a certain minimum completion before allowing homework submissionto the teacher.

The final authoring step is augmenting the materials with additionalnotations for the agent. These notations concern task and exercisesubject, skill classifications, and definition of the educationalparadigm embodied in the sequencing logic. It is performed byinstructional designers or knowledgeable teachers, and is expressed asnotations in the materials that generate event messages for the agentand that reference control parameters set by the agent for control ofmaterials sequencing. The notations so entered communicate various typesof information to the agent. Exemplary types include characterization ofassignment by type of task, subject, elements of subject covered bytask; comparison between exercises in same assignment by similarity anddifficulty; the subject matter prerequisites to determine what thestudent may or may not have mastered based on which exercises areanswered correctly; system knowledge prerequisites; and schedulinginformation such as average and expected time to complete.

5.4. ABI System Software Structure

This section describes in a more detailed fashion an exemplary structurefor the software components previously described in a more generalfashion with reference to FIG. 2. Subsequent sections describeparticular components in an even more detailed fashion. The structuredescribed here is exemplary. This invention is adaptable to otherstructures with other allocation of the functions of this invention todifferent modules. Such alternative structures are easily designed bythose of skill in the arts.

This section first describes the principal client software and datacomponents and the conceptual hierarchy which reflects theirinteraction. Next, the structure of the executive software is described.Finally, the flow and processing of events through the system aredescribed.

5.4.1. Student Client Software Structure

FIG. 6 illustrates the principal client software and data components andthe conceptual hierarchy which reflects their interaction. The linksillustrated represent principal procedure call or class dependenciesamong the components. At the root of the hierarchy is operating system601, which has been previously discussed in connection with thepreferred client hardware. The operating system (“OS”) includes theoperating system proper together with implementation languages and theirclass and function libraries with associated controls. At the next levelis executive software 602 (“ES”). This software collects a number ofcomponents which customize the operating system to the requirements ofthis invention and also extend it, if needed. For example, all OS taskcreation is processed through an ES task control facility to insure thatthe student accesses only permitted materials. The ES software alsoprovides a preferred animation facility and controls client startup.

Session and screen manager 603 is always present on a client system.This component partitions the screen into the areas for the principalsystem components, as has been generally illustrated by the exemplaryscreen of FIG. 3, and controls the system area, area 302 in FIG. 3.Thus, upon student selection of an icon presented in the system arearequesting the ES to start the function represented, it turn checks withschedule/calendar 607 whether the student is currently permitted toaccess this function before continuing with OS task creation. The systemmanager also presents whatever reward graphics and animation the studenthas been granted access to. These functions are performed by calling theobject level I/O facilities of the OS and ES.

Also accessible on a client system is student data object 611 for thestudent in session on the client. This object, preferably including ABIsystem data relating to the agent's model of the student, to thestudent's current instructional state, and to the instructionalmaterials themselves, is preferably accessed as previously describedfrom portable media. Alternatively, it can be downloaded from the serversystems when the student logs onto the client. Preferably, this objectis divided into components including methods and data subtypes, andthose only those components required are actually accessed at any onetime. As indicated by double headed arrow 616, the student data objectis accessed and updated primarily by agent processing functions 609 and612.

In a preferred embodiment, school specific data is separately stored inschool-student data areas 615. As indicated by arrows 608 and 614, thisdata is preferably accessed by ABI client system components other thanthe agent. School-student data is preferably accessed from databases onschool servers. In alternative embodiments, various subtypes, or all, ofschool-student data can be combined into student data object 611.

Schedule/calendar component 607 is important for management of thestudent by other system actors, such as teachers and administrators. Itis a tool that is always active whether or not it has a screen presence.Activities for the student, represented by activity description,priority, and deadline, are entered into the schedule/calendar datasubtype of the school-student data areas by teachers or administrators.Optionally prerequisite information can also be entered into theschedule/calendar subtype. As indicated by arrow 608, this componentreferences this schedule/calendar subtype data as well as the timeexpected for the student to complete an activity, as determined from thestudent's past performance and stored in the student data object, inorder to determine whether certain activities, such as particularinstructional materials, should be automatically started by the ESwithout any student intervention. In cases where the student ispermitted greater initiative, the schedule/calendar can permit OS taskcreation requested by the student, as by selecting an icon. Thiscomponent also provides, on request, prioritized lists of tasks for theagent to present to its student when the student asks for advice on whatto do next. It uses priority and deadline information andtime-for-completion data computed using data in the instructionalmaterials and student data object.

The materials are represented in the ABI System by materials engine 604and materials data 605. As previously described, the materials datacomprises objects for display output or student input, sequencing logiccontrolling object display, and notations which when referenced by thesequencing logic during object presentation generate event messages forthe agent. Materials data is advantageously grouped into “entries”comprising those objects, logic sections, and notations related to thedisplay of a single screen or a few screens related to a singleeducational item. The materials data also preferably include a specialheader or initialization entry with important notations that communicateto the agent the educational paradigm adopted by these materials and caninform the agent of the control variables to which it is responsive.Such header or initialization messages are also preferably sent to theagent if the materials change their education paradigm. In a preferredembodiment, there is one common materials engine 604 which presents aplurality of materials data 605. In alternative embodiment, there can bespecialized materials engines for various classes or types of materialsdata.

Materials engine 604 downloads the entries of materials data 605,interprets the sequencing logic, displays objects as requested, andreferences embedded notations generating the requested event messages tothe agent. Standard facilities of the OS and ES are used for objectpresentation and for routing any input to the materials. Input isprocessed according to specifications in the sequencing logic. In apreferred embodiment, the agent controls the materials by setting sharedglobal variables which the sequencing logic checks. Such shared globalvariables can be made available by OS inter-process communication(“ipc”) facilities, such as shared memory. The materials engine can beany program implementing these requirements, in particular an extensionof available commercial authoring tools and engines, such asMacromedia's Authorware.

In an alternative embodiment, the materials are not separated into anengine and a data component but consist of one unitary component foreach material. In this embodiment, a process similar to compilingcreates a single executable materials component. This invention isequally adaptable to other implementations of the materials thatgenerate agent messages and are responsive to agent control according tothe requirements outlined herein.

Agent processing is divided into two components, agent action processing609, which determines agent display actions in response to events, andagent behavior processing 612, which transforms display actions intodisplays of personae to the student. As indicated by arrow 616, bothcomponents access student object 611. In a preferred embodiment, agentaction processing is rule based and event driven. Rules in rules tables610 are evaluated using parameters both communicated in event messagesfrom the materials or the student and retrieved form the student dataobject. These rules propose candidate actions and then weigh and selecta final set of agent actions from the candidates, which are communicatedto subsequent agent behavior processing 612. Agent processing also setsglobal variables for materials sequencing and control. A side effect ofthis processing is the updating the student data object with informationfrom the materials event message.

Agent behavior processing 612 constructs an on-screen agent displaybased on the actions determined in agent action processing. In apreferred embodiment, this processing is based on behavior tables 613.Utterances, text or voice, and affects are selected from tables based onthe determined final actions and refined with parameters included withthe actions. The utterances and actions are sent to the selected agentpersona object, which creates the agent display of the selected personaeusing the utterances and effect selected. Data is referenced and updatedin the student data object by this processing, in particular fieldsreflecting the student's agent personalization choices, such as thedesired personae, and fields reflecting recent agent behaviors.

Also illustrated is communication materials 615. These materials manageand provide resources for various group activities, such as studenttutoring, group work with particular materials, and group contests. Asindicated by arrow 614, these materials access data subtypes preferablystored in school-student data 615.

5.4.2. The Executive Software

The executive software (“ES”) collects together a number of componentswhich customize the operating system to the requirements of thisinvention and, if needed, also extend it. ES software implements commonand special facilities. Exemplary common facilities include taskcontrol, communications, and I/O facilities; exemplary specialfacilities include a preferred animation facility and a client logon andstartup facility. In a preferred implementation, ES software is built asfrontends, wrappers, or extensions to available OS software components.For example, certain facilities can be implemented in C or C++ anddirectly call OS interfaces, such as the Windows™ graphics deviceinterface or its extensions. Other facilities can be built as classesusing available implementation language libraries, such as the packagesin Java™ 1.0. Yet other facilities can be provided directly as part ofsoftware packages, such as the display I/O functions present incommercially available authoring packages.

The task control facility manages the startup of system components.First, it verifies that the student is permitted to activate a requestedcomponent by checking schedules and priorities with theschedule/calendar tool. Indirectly, the student's agent can be queriedto determine if this activation is reasonable. Next, if permitted, thisfacility manages the loading of required software from server systemsand the accessing of data objects. Finally, task control then starts upthe component by making any necessary Os calls. Task control alsonotifies other system components at task terminations.

The communications facility manages network communications and provideswhatever client-server or file server protocols are not present in theOS. Such protocols might include HTTP V2.0 with URL name resolution. Itmaintains all necessary network sessions, including sessions with themajor classes of servers, including executable software servers andinstructional material servers. In the case of portable student dataobjects, communication is also maintained with the registry function. Incase of downloaded student data objects, communication is maintainedwith student data objects repositories. Data snip libraries can resideon any of these server classes. In alternative implementations theseservers can be on one or several physical server systems. Finally, thisfacility handles all remote access requests for information includingrequests for downloading and uploading.

The I/O facilities includes input and output display handlers for objectlevel display I/O. The display handlers receive object level requestsfor text, graphics, video and audio and translate them into whateverinterface is supported by the OS. The input handler receives low-levelinputs from the OS input handlers and processes them according to thecurrent screen format. In certain cases, it can directly call the outputhandler to perform immediate feedback actions, such as highlighting ordragging an object. In other cases, it can pass I/O event messages in anappropriate format to the system component owning that screen object,for example, the on-screen agent. The output handler receives objectpresentation specifications, such as system owner, position,characteristics, size, any animation information, and whether the objectis an input focus, then updates any necessary screen mapping, andgenerates OS requests to display the object. An example of such anobject specification includes a selectable text field object withspecified contents, perhaps scrollable, displayed by a particularinstructional material.

Exemplary specialized ES facilities are animation and client startup. Itis preferable that the client system support animation, which is aconnected and timed sequence of displays potentially calling on alldisplay modalities available, and other timed presentations. Althoughthis invention is adaptable to any suitable animation facility, apreferred facility presents a script based interface.

The inputs to an animation facility are scripts which comprise objectdisplay commands, the timing of the object displays, an inputspecification of how any permitted user inputs are to be handled, andthe types of events to be returned to the initiating system component.Examples of display events include user input causing script branchingand termination or interruption. The animation facility receives ascript from another system component, requests downloading of necessarydisplay objects, for example from data snip libraries, interprets thetiming specification, and sends request to the input and outputhandlers.

The ES startup facility is described herein with respect to a studentclient to run on a network attached computer. Startup is similar forother client systems, including teacher and instructional designerclients. Each component of the ABI system must be downloaded from aserver when needed or accessed from portable media, if as is typical, nocomponent of the system is resident on a client prior to startup. Theinitial step involves the student accessing any client attached to anABI network. Accessing can involve as little as powering-on the computerand requesting startup of the system on this client. Preferably,accessing by a student user begins by accessing the server with thesystem manager, for example, using a standard intranet browser which canbe resident on the client or downloaded by a power-on bootstrap process.The student logs on to the system manager, which then performsauthentication, for example, by means such as password or identificationcard. Upon successful authentication, the system manager downloads andstarts the ES. The ES then initiates necessary communication sessions,including those with the system servers, and then downloads the sessionmanager software, the agent software, and the scheduler/calendar toolsoftware. Preferably, the portable student data object in conjunctionwith the ES then authenticates the student and the student data objectdata is accessed from the portable media. Alternatively, the studentdata object is downloaded from a server. Then the session managerpresents the student display in a form depending on student preferencesin the student data object and receives input from the system area ofthe display. The schedule/calendar in cooperation with the agent thendetermines what materials the student is to be presented with or canselect from. Finally, the materials data and engine are then downloadedand the substance of the student session commences.

Presentations of personae or merely appropriate coherent responses canbe created from audio and video display objects downloaded from a serverand referenced upon demand. These display objects, or data snips, can belinked into groups corresponding to the particular presentations.Further, these linked groups can include small pieces of code that allowfor a branching and interactive short meta-response. Thus, onemeta-response can include opportunities for student input with the nextdisplay object being chosen in response to that input. Each of thesegroups is catalogued and referenced as that persona behaving in aparticular manner.

5.4.3. System Event Processing

The ABI System on the student client, and on other clients, isadvantageously organized to wait for student and timer input events andthen to respond appropriately to these events. This is common currentpractice for constructing interactive systems. However, this inventionis adaptable to practices that might be developed in the future forconstructing interactive systems as long as the principal systemcomponents and their mutual interactions as previously described can berepresented in such a future practice.

With reference to FIG. 7, this section sequentially describes the systemprocessing of an input event and its consequences from initial inputuntil the system waits for the next event. This description providesdetail of how the system components communicate with each other and ofhow information and control flows through the system. More detaileddescription of the individual components appears in following sections.

FIG. 7 conceptually illustrates control flow and event processing in astudent client. Generally, at the left of this figure is relevant data;in the center is processing steps; and at the right are I/O events. Asis apparent from the context, the arrows in this diagram representeither data references or control flow. The control flow is at timesimplemented by information bearing messages and at other times effectedby standard ES and OS system calls. Further, this figure is directed tothe processing of those components that interact with the student'sagent. Those components, such as the session manager, which do notinteract with the agent can be constructed according to standardinteractive techniques (see, e.g., Petzold, 1996, Programming Windows®95, Microsoft Press, Redmond Wash.).

Thus, at wait point 701 the system waits for the next student input ortimer event. This wait commences at wait points 707, 713 and 717 afterthe system completes processing of the previous event, or possibly aftersystem startup. Upon receiving an input event, ES I/O handlers 702decide whether the event represents an action without significance forother system components. For example, the event can be a student actioncausing only the highlighting of an object or a timer event directing ananimation. Such events can be entirely processed by the I/O handlers,and-system waiting resumes at 701. If the event represents a studentrequest for the materials engine 703 or a meta-request for the agent711, the I/O handlers format it appropriately and communicates it to thecorrect component owning that input object. If the event represents atime interval set by one of the materials engines or by the agent, it isformatted and passed to the requesting component. In the case of groupwork, the event can be generated on a remote computer system andtransmitted over a network link in order to reach the local I/Ohandlers.

The I/O handlers format event messages into the format expected by thecomponent they are directed to. They include in each message anindication of the type of student action or time interval along with anyinput information from the action. One input event can generate severalevents messages.

Herein, messages directed to materials engines 703 are considered first;messages directed to agent action processing 711 are considered second.Although FIG. 7 illustrates two materials engines, one engine or morethan two engines are possible on a system from time to time. Regardlessof the number of materials engines present, event messages arecommunicated to the correct engine. The materials engines 703 process aplurality of read-only materials data 704 representing instructionalmaterials, tools, and communication materials. As indicated by arrow725, these engines also access control information determined by agentaction processing 711. This control information can be accessed in anyconvenient manner, such as by an exchange of messages or by referencingparameters stored in a shared memory region. This information controlsthe materials engines at educationally significant points during theirmaterials presentation. Optionally, materials engines 703 can alsoaccess remote databases 705 and other remote resources available throughthe system network. The engines use these two sources, and optionallythree sources, of input to cause presentation 706 to the student of, forexample, an instructional lesson, a homework exercise, an instructionaltool, or a joint educational contest. This presentation uses the I/Ohandler of the ES and OS to generate actual student display.

As indicated by arrow 727, the materials engines also generate messagesdirected to agent action processing 711. At educationally significantpoints during materials presentation, notations in the materials causethe engines to format a message to the agent. These messages alsoinclude an indication of event type and relevant data, perhaps includingtiming data. One student input can generate several agent messages. Atpoints which are not educationally significant, the materials can notgenerate agent messages. Thus, the system can wait again for the nextstudent action at wait point 707 if the previous student action hadeither no input significance for the materials or agent or noeducational significance for the agent.

However, if messages have been sent to the agent, agent actionprocessing 711 is activated. In the preferred but not limitingembodiment, this processing is table based. Rules from policy filtertable 708 are evaluated in view of the data included in an incomingevent message and in view of data on the student's past performance andthe student's pedagogic model in student data object 712. For example,it comparisons with student history are needed to determine relativeperformance. These rules propose candidate agent actions. Next, rules indecision weight table 709 and in selection criteria table 710 filter theproposed actions into a final list of agent actions. These final actionscan cause the update of the information in student data object 712 withdata on the student's current performance and behavior, as indicated bydouble headed arrow 728. They can also make available controlinformation for the materials, as indicated by arrow 725. Finally, andimportantly, the actions can include display actions for causing visibleagent behavior. The list of final display actions is sent to agentbehavior processing 716. It is possible that no visible agent behavioris appropriate and that the list of display actions is empty. In thiscase the system waits for further student input actions at wait point713.

Agent behavior processing 716 processes the final list of displayactions communicated from agent action processing 711 in view ofutterance tables 714, display behavior tables 715, preferences and therecord of recent agent behavior in student data object 712 in order togenerate a coherent display of the on-screen agent personae reacting tothe previous actions. The final actions select utterance templates whichare completed with parameters contained in the actions. The personaefrom the display behavior table selected according to the studentpreferences use these complete utterances to generate display objects,and perhaps animation scripts or applets, which are sent to the I/Ofacilities of the ES for final display 718. Agent behavior processingalso updates the student data object with information concerning thiscurrent behavior.

Having completed all possible processing of the student input action,the system now waits at wait point 717 for the next student action ortime interval.

5.5. The Instructional Materials and the Tools

This section describes a preferred embodiment for the instructionalmaterials, the student tools, and communications materials. In thisembodiment, the materials have a uniform structure, being defined bymaterials data which is used by the materials engine to appropriatelygenerate displays and perform functions. This uniform structure permitsa uniform handling of the interface between all the materials and theagent. In alternative embodiments, certain tools and the groupcommunication materials, for example, can be advantageously separatelyimplemented as separate programs that themselves maintain the necessaryagent interface. Such certain tools include a calculator, a dictionary,an encyclopedia, and group communications. In further alternativeembodiments, each instructional material could be a separate programthat also maintained the necessary agent interface.

This section first describes the general structure of the instructionalmaterials and then describes the tools typically available on an ABIsystem.

5.5.1. The Instructional Materials

In a preferred embodiment a common materials engine interprets specificmaterials data to perform instructional and tools functions. These aredescribed with reference to instructional materials with adaptationsneeded for the other materials noted. Turning first to the materialsdata, in the referred embodiment it includes three principal sectionsfor presentation items, sequencing logic, and notations. Thepresentation items include whatever is displayed, preferably representedas display objects, which can be parametrized. These display objects canbe packaged with the materials data or can be downloaded from a serveron demand. The notations contain additional data related to thematerials display. These include, for example, prerequisites, links torelated material, expected student performance, and help and hints. Thenotations are preferably generated from templates referencing parametersfrom the materials data and student performance inputs. The materialsengine uses notations to generate messages to the agent, which compriseone part of the agent interface. The sequencing logic is executable orinterpreted code that animates the particular materials. It referencesall data in the particular materials to cause the ordered display of thepresentation items and to send messages to the agent according to thenotations.

The materials data is advantageously grouped into entries, each entryrepresenting a minimum item of presentation, which can, however, involveseveral screens. These entries are preferably specialized at least intoa header or initialization entry and the other entries. Table 2Aillustrates a typical materials header entry which is the first entryprocessed when the materials are initialized.

TABLE 2A HEADER ENTRY Instructional Header Entry Presentation itemsSequencing Logic Notations Global variables; Prerequisites for Globalfunctions; materials; Local variables; Reference to other Localfunctions; materials or standard texts. Agent initializing informationincluding: meaning of global variables; education paradigm adoptedavailable helps, tools

This header has several particular features. The sequencing logic forthe header frame consists largely of definitions of variables andfunctions. The global variables are shared between system components andinclude the control variables that the agent sets and that thesequencing logic references and tests in order to be guided by agentcontrol. These variables, which comprise another part of the agentinterface, for example, can control the time pacing of instruction, thenew concept seeding rate, the density of new examples, the time pacing,or the difficulty of discriminations. Local variables are available tothe sequencing logic during materials processing. Global functions arethose global system functions that can be called by the sequencinglogic. Also, dictionary lookup, spell checking, or encyclopedia lookupcan be globally implemented and shared. In a Windows™ environment, theglobal functions can be DLLs. Finally, local functions are availablelocally to the sequencing logic. For example, in a scientific calculatortool, computations can be local functions. For a further example, ininstructional materials the local functions are available for checkinguser inputs for correctness, scoring quizzes, and so forth.

The notations in the header entry generate materials initializationmessages to the agent. These messages inform the agent about thesematerials, about what global variables they respond to, about whathelps, hints, and tools are useful, and importantly about theeducational paradigm the materials use. Preferably, information aboutthis paradigm is structured according to the instructional materialsinterface standard. See infra. The notations can also contain additionalinformation, such as prerequisites for the whole materials andreferences to other materials and texts. Finally, the presentation itemcan be, for example, an introductory screen.

Table 2B illustrates a typical entry which is processed during regularmaterials presentation.

TABLE 2B MATERIALS ENTRY Instructional Entry N Presentation itemsSequencing Logic Notations Display Interpreted or Prerequisites forframe; objects, executed control Expected timing, and possiblystatements difficulty; including referencing Relation to other frames;those for variables, Links to other materials text, notations, and andsources. graphics, any student Changes to agent sound, input, andinitializing information; animation, or causing display Studentperformance data; video of display Student error data objects andexecution of notations

For this entry, the presentation items are those for the materialsdisplay. The sequencing logic causes this display in view of thevariables and other information in the materials data and any studentinput. Finally, the notations result in agent messages reporting changesin any parameters set at initialization, student performance data,student errors, and other educationally significant information. Thenotations can also contain information specific to this frame, such asexpected difficulty and timing.

Turning now to the materials engine, its first processing step is torequest the executive software to download the requested materials datafrom the instructional materials server. It next processes the headerentry, links to global variables and functions, and sends initializationevent messages to the agent. When presentation begins, it interprets orcalls for execution the sequencing logic on the first frame. From thisframe it proceeds to activate other frames as directed by the sequencinglogic. Lastly, when the materials processing ends, any terminationmessages as directed by the notations are sent to the agent and thematerials are deleted from the client.

In a preferred embodiment, the materials are all implemented similarly.Most differences between the instructional materials, tools, andcommunication materials are in the presentation items and the sequencinglogic, including different global and local entities. All materials areexpected to have notations for generating agent messages that recordmaterials initiation and termination and student performance and errors.Preferably this information is reported in a standardized manneraccording to an instructional materials interface standard. See infra.

5.5.2. The Tools

The ABI system is adaptable to a wide range of necessary and optionalstudent and teacher tools tailored to the students and the courses ofinstructions. In the case of elementary education, the followingpreferable tools include certain general tools and the communication, orjoint work, materials. In the case of commercial education, other toolscan be preferable. The schedule/calendar tool participates in permittingaccess to materials according to student schedule and is preferablyfound in all embodiments.

The discussion in the section is directed to an implementation forelementary education. It is not limiting in the tools that can be usedin an implementation.

5.5.2.1. The General Tools

The general tools are preferably present in a range of forms selectedaccording to data in the school-student data areas, including gradelevel, and teacher permissions. One general tool is a calculator, whichcan have forms varying from a simple four function calculator to acomplex graphing calculator. Other general tools include language tools,such as a spelling checker, a thesaurus, a word pronouncer, anencyclopedia, and a dictionary. Different levels of each language toolcan be provided suitable for different grade levels. In an alternativeembodiment, the language tools can be integrated with a “starfish” tool,which allows the user to place the center of a “starfish” over aparticular word, and then, by selecting the appropriate arm of thestarfish to obtain the definition, a pronunciation of the word, arhyming word, a synonym, or an antonym. Another general tool is a wordprocessor, perhaps with a drawing mode which can be provided as amulti-level set of writing and drawing tools. The writing and drawingcapabilities available to a student are selectable by the student orteacher. A last general tool is a link-maker, which offers exercises invarious types of memorization, such as paired associates, seriallearning, ordered serial learning, and mnemonics. Finally, additionaltools can be added to an implementation to meet specific educationalneeds. For example for geography lessons a map tool can be added. Forstudent projects, an encyclopedia tool and a network search tool can beadded. The Study Buddies™ can provide instruction in operation of thetools such as the use of keywords and operators. Specialized tools canbe added for commercial or industrial training.

5.5.2.2. File System Tool

A general tool preferable in many embodiments is a file system withstudent access. In many instances, including elementary education, fullview of and access to the system provided file system can be adisadvantage. Consequently this invention contemplates, providing a filesystem front end, or file system tool, that limits the student's view ofand access to the system file system. This particular tool isadvantageously implemented as part of the session manager and not as amaterial. With that implementation, customized iconic filerepresentations are managed as part of the system area of the display.

One embodiment of such a file system tool presents a four level filesystem organized into shelves of books, each of which has sections, thesections having pages. A book representing a directory of files isopened when a student user selects its icon. The student navigatesaround the directory book by selecting tabs or by moving page by page,by selecting nextpage, lastpage, or other buttons. The student interactswith selected pages, or files, of the book, possibly creating new pagesand sections. The student can also close the book. For most needs ofelementary purposes, a single shelf with a few pre-specified books isadequate. More advanced students can be given permission to create anduse multiple shelves with new books and to cut and paste pages andsections from book to book. A page of a book, a file, is preferablypresented with the materials that process it. For example, user-createdtext or graphics pages appear with the word processor active. Homeworkand instruction pages appear with the appropriate materials.

5.5.2.3. The Scheduler/Calendar Tool

The schedule/calendar is an important tool and is preferably alwayspresent. It is accessed when the ABI system initiates materials toverify the student is permitted and scheduled for this material, andalso invoked when the system terminates materials to schedule newmaterials. It is accessed as a global function by the agent in responseto a meta-request from the student seeking scheduling assistance.Further, it can be directly accessed by the student using the calendartool icon appearing on the student desktop. When accessed, this tooldisplays a calendar book to the student, viewable in several ways.

This section describes, first, the schedule/calendar data, and second,the schedule/calendar processing. The schedule/calendar data is asubtype of the school-student data areas. Optionally, a student'spersonal schedule can be contained in the student data object.Generally, this data includes the following fields for each scheduledstudent activity:

Name of scheduled activity and optionally an identifying message;

Activity priority;

Deadline date and time, or a definition of a perpetual activity, whichhas periodic requirements but no completion date;

Link to material for the activity which in turn can specify activitycompletion criteria; for activity of a single student this is typicallya particular instructional material; for group work activity a list ofthe students for the group and other communication information can alsobe in the calendar entry;

Activity characteristics, for example whether this was entered by thestudent or teacher and whether this is to be marked complete by thestudent or system;

Activity status, completion status and submission status of any requiredreports.

This exemplary data, sufficient to define a scheduled activity, canalternatively be entered by the teacher or by the student. If entered bythe teacher, it can be protected from modification by the student. Dataentry is preferably assisted by a teacher tool with a suitable screenformat. Optional activities can be entered by the student if the teacherpermits.

The schedule/calendar tool can be directed by the teacher to permit thestudent a range of scheduling initiatives. These initiatives can rangefrom permitting the student freedom to schedule materials as desired torequiring the schedule/calendar tool to enforce a fixed order of studentactivities. In a preferred embodiment this is accomplished by theteacher's specifying initiative parameters including a deadlinedate/time, D, and a criterion priority, P, in the school-student data.The schedule/calendar then schedules automatically all tasks withdeadline less than or equal to D and with priority level greater than orequal to P. By varying D and P with respect to scheduled tasks theteacher can achieve the specified range of initiatives.

Schedule/calendar processing can be invoked by the executive software,by the student, or by the agent. As previously described, at thebeginning of a student session or after termination of the use of aparticular material, the executive software invokes schedule/calendartool, first, to mark the terminated task complete, and then, toreference the calendar data in view of the initiative parameters to findactivities requiring scheduling. If this tool finds only one activity inthe calendar requiring scheduling, this required activity is initiated.If multiple required activities are found, the tool can, alternately,initiate the required activity of highest priority or allow the studenta choice of which required task to initiate. If there are no requiredactivities, the schedule/calendar tool allows student selection of thenext task via the session manager.

The schedule/calendar tool can be invoked by the student by selectingshe schedule/calendar icon in the system area of the display. When soinvoked, the tool displays the student calendar and scheduled activitiesin various formats from a monthly overview to details of individualactivities. If permitted, the student can enter optional items or markitems complete.

The schedule/calendar tool can also be invoked by the agent when itreceives a student meta-request of the type “What do I do next?” Theagent retrieves the required and scheduled activities from this tool andalso determines an expected time to complete each task based on studentperformance from the student data object and the average time requiredfor each task from the materials header. In view of this combinedinformation, the agent can present to the student an ordered list ofactivities scheduled according to their expected time to complete.

5.5.2.4. Communications Tools and Group Work Materials

In a preferred embodiment, the ABI system includes communication, orgroup work, materials integrated with the remainder of the system. Asfor other tools and materials, access to communications materials isgranted by the scheduler/calendar tool. Communication work groups areassigned and scheduled in students' calendars with calendar entriespreferably including the group members names and other communicationparameters. When these materials are activated by the scheduler, thecommunication group is begun. Alternatively, students can spontaneouslyrequest the formation of a communication group by the selection of acommunication material. The scheduler/calendar tool can permit groupactivation if the students have no other required activities.Alternatively, each particular communication material can also havespecific access controls preferably set by the teacher that control thetypes of communication permitted and with whom the communications ispermitted.

In manner similar to other tools and materials, the communicationmaterials have an agent interface. Upon activation, they sendinitialization event messages to the agent specifying the global controlvariables they will be sensitive to, the educational paradigm-adopted,and available hints, helps, and other communication parameters. Inalternative embodiments, the instructional materials interface standardsinclude special categories for communication based work that enable theagent to control these materials with specificity. During communicationwork, these materials generate event messages at educationallysignificant points.

Thereby, communication materials are fully integrated into an ABIembodiment. Further, in a preferred embodiment, communication materialsare implemented in a manner similar to other materials. First, eachcommunication material has a particular communication task specific forthat communication material or form of group work. The communicationtask manages the network interface for that particular type ofcommunication or group activity by using the network protocols providedby the OS and ES, and provides its communication functions as globalfunctions for access through an ABI system. Second, these functions aremade available to the student in a manner similar to other materialsthrough particular materials data that includes presentation items,sequencing logic referencing these global communication functions, andnotations generating event messages for the agent. In an alternativeembodiment, the communication materials can be programs, independent ofthe materials engine and perhaps part of the associated communicationtask, which internally generate the necessary agent event messages. Ineither embodiment, communication materials tasks can be written eitherin the ABI implementation languages, or in a special purposecommunication scripting language.

The particular communication materials in a preferred embodiment provideforms of group work or communication including e-mail or messageexchange, linking student groups for joint work on materials, andstructured joint work such as contests with rules. Each of these formsof group work or communication is described in the remainder of thissection.

A first form of group work implemented by communication materials isE-mail and newsgroups. These are useful for teachers to send informationto their classes, such as schedule and materials changes and tocommunicate with absent students. Teachers can also exchange informationwith each other or obtain help for system and other issues. Students canuse this form to obtain help and advice, especially from remote sources,communicate with their teachers, and share work or interests with otherstudents. E-mail and newsgroups are easily incorporated as previouslydiscussed. Then materials data is authored that grants access to thesefunctions and generates appropriate agent event messages.

Student linking is another form of group work implemented bycommunication materials. Students in session at separate clients canlink together for various exemplary activities including simply talkingwith each other by voice or text or for joint work on a particularmaterial in which the students have either similar roles, as indeveloping a document using a word processor, or different roles, as ina simulation or game. Another activity of linked students includes groupactivities, in which position of participants within a virtualenvironment determines activity and role within activity. A finalexemplary activity for linking student groups is moderated activity, inwhich participation is controlled by a special coordinating task thatperhaps executes on a server system. An example of this latter activityis a spelling bee which is described in more detail subsequently.

In the preferred embodiment, student linking includes the followingsteps. The first step is identification of other students with whom agiven student can link. The group can be defined by the teacher in theschedule/calendar entry for this activity, or alternatively, in acommunication access control particular to this linked work activity.Second, links must be established between the students to be linked.These links can be to a single server communication materials task thatreceives and distributes messages. Third, local and global actions mustbe determined. Local actions are those that result in output visibleonly to the user taking the action. Global actions are those that resultin output visible to all the students in the linked group. These globalactions can include communicating each student's input to all linkedstudents, sharing information among all linked students, jointlycreating information by students in the linked group, and storingjointly created information. The fourth step in linking is orderlydisconnection from the linked group.

Linking can be implemented in alternative fashions. In allimplementations the communications tools and materials for linkedactivities are integrated with the other components of an ABI system inone of the ways previously described. A simple implementation is toprovide on each student's screen an icon and a message area for eachlinked student. Alternatively, one or more shared materials areas can beprovided. Communication can be distributed through a single server taskto which all linked students-connect. A more advanced implementation oflinking employs software packages similar to multi-user dungeons(“MUDs”), which contain a collection of virtual shared traversablespaces (called “rooms”) in which users can interact either with eachother or with elements within the room. MUDs are especially preferablefor student group work in which different students have different roleswith access to different system capabilities. For example, one studentcan be a recorder, having write-access to the group's notebook, whileanother can be the database expert, having access to a body of relevantdata. MUDs are also be useful for teachers, communicating with eachother within ‘rooms’ each set aside for a specific topic and forming adynamic newsgroup.

Another form of group work implemented by communication materials isstructured linking. Important examples of structured linking in whichthe students have different or structured roles are educationalcontests. Exemplary of such contests is a spelling bee, an exemplaryembodiment of which is described herein. In this embodiment, thespelling bee is managed by a server communication materials task, calledthe server spelling bee task, which preferably is executed on a serversystem, which communicates with local spelling bee tasks on the involvedstudents' client system. Generally, the server spelling bee taskinitiates a spelling bee by accumulating connections with students localspelling bee tasks, then mediates the spelling bee by controllingstudent actions, and provides for orderly termination of the spellingbee. The local spelling bee tasks provide the communication functionsaccessed or required by the spelling bee materials data, which arescheduled or selected to invoke spelling bee participation, on theclient systems. These materials also send event messages to the agentand are controlled by the student's agent. Alternately, the localspelling bee tasks can be programmed to communicate with the agent andperform the spelling bee without materials data.

In more detail, the spelling bee tasks carry out the following steps.The spelling bee server task is started at a teacher's request orautomatically by the system. A list of eligible students can be selectedby the teacher or automatically determined by the server task based ondata in the student data objects, including class membership and astated interest in spelling bees. The spelling bee activity can bescheduled for each individual student by the teacher or selected by thestudent. If a student desires to enter the spelling bee, the localspelling bee task is started by the ES and a message is returned to theserver. No response within a specified amount of time is taken asindicating a desire not to join. If a student's data object shows thatthis is the first time in a spelling bee, an instructional and warm-upsequence can be authorized for the student by the agent in the servertask. If enough eligible students join the spelling bee, the server taskcontinues, otherwise it sends a termination message to those who havejoined and terminates. Each local spelling bee task obtains space on thestudent display indicating the other players and their inputs. Next thespelling bee begins, and the server task broadcasts the word to bespelled selected from a graded word list and the name of user to spellthe word. Each local task echoes the word sent, preferably by requestingthe on-screen agent voice the words as utterances with an appropriateaffect. The spelling bee materials inform the student's local agent ofthe student's progress and performance in the spelling bee materials.The server task accepts input from designated user's local task andbroadcasts it. The server task judges and reports on correctness ofcompleted responses and, if incorrect, eliminates the student fromfurther spelling requests. As student leave the spelling bee, the servertask is notified and sends messages to the local tasks of continuingplayers in order to update their work spaces. In each case the studentpreferences for further spelling bees are checked and preference data inthe student data object is updated. When only one student remains, theserver spelling bee task terminates the game and reports results.

5.6. The Agent and the Agent Interface

The agent is an important component of this invention and is furtherdescribed in this section with reference to the student data object, theagent interface, agent processing, and agent adaptivity. The agentcomprises the student data object which contains data on the student'sperformance on the various materials and data on the student's pedagogicmodel. Other system components preferably have an interface to the agentin order that the agent can control the materials and guide the studentin a uniform manner. Agent processing is divided into two phases, agentaction processing and agent behavior processing. Finally, agentadaptivity in the preferred and in alternative embodiments is described.

5.6.1. Student Data Object

One student data object is created for each student in the ABI systemand is a repository of data concerning that student. The student datacomprises fixed data defining the student as well as evolving datadescribing the student's interaction with the system, the latterincluding at least current and past performance and data defining theagent's view of the student.

Preferably, the student data object is stored on portable media as aportable student data object under the student's control. In thisembodiment, the portable student data object is plugged-in to a clientsystem and the identity of the student if checked by access methods.Further, during system operation, each element of software of materialthat directly or indirectly, through the agent, seeks access to theportable student data object is validated and identified as previouslydescribed before access is granted. Alternatively, the student dataobject can be downloaded from In server systems when a student access aclient system. In this embodiment also, the software validation andidentification is also advantageously performed. In either embodiment,the student is able to access any client system for provision ofinstruction from an ABI system.

In certain embodiments of an ABI system, a school or other educationalprovider can keep student related data in school-student data areas.This data includes information specific to a school, such as specificcourse or educational progress data, school schedules, etc., and ismaintained in accord with the school's data retention and privacypolicies. School-student data can be updated by messages generated bythe agent and sent to school server systems. Also, the agent can consultthis school-student data to guide its actions, for example, in responseto scheduling meta-queries from the student. In alternative embodiment,such school-student data can be stored in the student data object. Thiscan be advantageous when the student is associated with only one school,as in primary or secondary education.

For compactness of description and not by way of limitation, thefollowing description of the content and operation of the student dataobject is according to such alternative embodiments. In the accompanyingfigures, data subtypes or fields that can be stored in school-studentareas in appropriate embodiments is suffixed with “(S).” Data subtypesand fields that are preferably part of the student data object in allembodiments are suffixed with “(A).” In this subsection, this latterdata is termed agent-specific data as it is closely related to the agentstudent model and agent processing.

FIGS. 10A, 10B and 11 illustrate the structure and operation of thestudent data object. FIGS. 10A and 10B conceptually illustrates anexemplary structure for student data object 1101, optionally containingschool-student data as indicated. It is an object comprising structureddata 1102 and methods 1103 for accessing and updating this data. Bothagent-specific and school-student data is divided In generally intoglobal data 1104, materials related data 1105, including tool relateddata 1106, current lesson data 1107, and log data 1108.

Global data, defined to be information meaningful across ABI materials,includes such subtypes as system data, agent behavior preference data1109, agent student model data 1110, and schedule data 1111. System dataincludes student identifiers, student passwords, access privileges,grade levels, class registrations, etc. Such information is typicallyschool-student data. Both agent behavior preference and agent studentmodel information is agent-specific data. Agent behavior preference data1109 relates to the multi-modal behaviors generated by the agent andincludes student defined preferences for these behaviors as well as asummary of past agent behaviors. Student preferences can include optionsrelating to agent visual appearance—species, gender, dress, or perhaps,no visual appearance—and similar options relating to audio behavior andtext production. The summary of past agent behaviors is used to aid inthe selection of reasonably varied future multi-modal behaviors. Agentstudent model data 1110 includes items modeling the student's persistentbehavior which the agent uses to individualize its interactions with thestudent. Such data items can include material retention rate, hinteffectiveness, and preferred rewards. Further data types in an agentstudent model can include measures of a student's intelligence,temperament, personality style, and so forth. Intelligence measures canbe specified for multiple aspects of a student's personality, forexample, measures according to the multiple intelligences of HowardGardner. Personality style can include intuitive/formal preferences,such as right brain/left brain dominance. Updates to this data objectmade as the ABI client interacts with the student, and as the studentmatures, provide for agent adaptivity to the student. Finally, scheduledata 1111 relates to assignments scheduled by the teacher or educationalprovider and unchangeable by the student, and is typicallyschool-student data. Data for each schedule item can include due dates,reminder alarms, and priorities.

Each course in which the student is currently enrolled has a separatematerials related data area 1105 for the materials providing instructionin this course, and includes both agent-specific and school-studentdata. In an exemplary embodiment, this latter data subtype includesstandard and criteria data, usually set by the school system, whichinclude objectives and standards the student must meet in the particularcourse, and milestone data establishing objectives already met by thestudent. Such information is typically school-student data. Informationrelating to a student's progress, performance, and use of tools istypically agent-specific data. Progress data includes data necessary forthe student to leave the materials and resume the materials at the priorpoint. Performance data 1112 relates to student's performance overseveral lessons in the materials and can include mean performance,weighted moving averages of performance, patterns of performance, use ofhints, use of retries, and needed remediation. Using such performancedata, for example, means and weighted moving averages, permits the agentto determine whether student performance is improving or declining. Tooldata 1106 contains essentially similar but more abbreviated data aboutuse of system tools such as the calculator, dictionary, and wordprocessor. This data usually includes only milestones and performanceinformation.

For example, in the case of a reading course, agent-specific data caninclude reading speed attained, vocabulary level achieved, and sentencecomplexity recognized.

The status of each lesson presented by instructional materials isaccumulated in current lesson data 1107, which is preferablyagent-specific data. This subtype is created upon lesson initiation anddeleted upon lesson completion. In an exemplary embodiment, it includesshort term measures of performance—such as error rates, weighted movingaverages of error rates, and the use of hints and retries—short termmeasures of time latency—such as time to complete lesson segments andweighted moving averages of such times—work areas in which the agent canstore information particular to the instructional materials—such asparameters to use in forming multimedia presentations—and lessoncoaching parameters 1113. The lesson coaching parameters are used by theagent to provide feedback to the instructional materials so that theirpresentation can be individualized according to student performance.These parameters are governed by the instructional modalities employedby the particular instructional materials and can include values such asthe seeding rate of new concepts, time pacing of the presentation, thedensity of examples, and the ratio of reinforcement.

Finally, the student data object has links to student log 1108. The logis preferably school-student data stored on server systems outside ofthe student data object. It is updated by messages generated by dataobject update methods called by the agent. Subject to school dataretention and privacy policies, the log can store all messages input toagent processing and all actions from agent behavior processing.Preferably, this data is used to generate reports for teachers,administrators, and parents. It is also of use to instructionalmaterials authors and educational researchers, who can use the detailedaudits of student behavior and system responses available in the log inorder to improve instructional materials or to develop new modalities ofinstruction.

With its carefully partitioned and functionally defined interfaces, theABI system is easily adaptable to new modalities of instruction as wellas to merely installing new materials.

The student data object also includes access, data updating methods, anddata query methods. The methods are advantageously grouped in particularapplication programming interfaces (“API”) according to their functionof type of data accessed. As previously described, methods of the accessAPI validate the student attempting to access a portable data object andvalidate and identify software prior to its generating any student dataobject requests. An exemplary updating method 1114 includes twocomponents, triggering event type 1115 and action list 1116. When avalidated and identified system component requests agent processing ofupdates to the student data object, the agent sends a message to theobject including an update event type and a list of relevant parameters.The updating methods are searched to find one with a triggering eventtype which matches the event type of the update event. The one or moremethods having matching event types are then executed by performing allthe actions in the included action list using the parameters in theupdate event message. Each action uses the supplied parameters to updatedata elements in the student data object. Preliminary to any update, itis advantageous for the update methods to execute rules to ensure theupdate is generally reasonable, by, for example, not occurring toofrequently. A plurality of actions is generally associated with eachmethod because it is typical for one event to cause changes in severalstudent model data elements. For example, an update event related to theuse of a tool causes changes in the relevant tool data subtype as wellas the associated instructional material subtype. Further, when a lessonis completed, the methods executed appropriately summarize student datafrom the current lesson subtype into all the permanent data subtypes.

For a further example, at lesson completion parameters such as ‘hinteffectiveness’ in the agent student model data 1110 are also updated.The ‘hint effectiveness’ parameter is accessed for uses including agentdecision weighting. One of the methods associated with the event type‘end of lesson’ updates the parameter ‘hint effectiveness’ in thefollowing exemplary manner. The performance parameter 1120 ‘use ofhints’ is accessed to determine if update is required. If hints wereprovided to the student, the ‘current lesson log’ 1108 is used incalculating the two components of the parameter ‘hinteffectiveness’—‘hint effectiveness-before-first-try’ and ‘hinteffectiveness-after-first-try’. These two components each hold an arrayof values which are used to compute a weighted moving average. In analternative embodiment, a more complex formulation of this parameter canbe used to provide a more detailed analysis of hint effectiveness—eachof its two components can be separated into sub-components correspondingto subject area, hint types and other instructionally useful measures.

It is further preferable, for data elements comparing a particularstudent to class peers according to various measures be entered into thestudent data object. This can be done by the agent executing appropriatestudent data object update methods in response to messages containingsuch student comparisons generated from school-student data on schoolserver systems.

FIG. 11 is an exemplary illustration of how a typical student actionevent updates the student data object. Update message 1201 is sent 1206to the student data object from a component of agent processing to causestudent model update. The update event type is “exercise_done” andexemplary associated parameters are as indicated at 1202. In this casemethod 1203 with triggering event type “exercise_done” is executed byperforming the four associated actions. The first action updatesrelevant data elements in tool data subtype 1106. The second actionupdates the log 1108, by, preferably, sending to server systems aninformation message describing this event. The log is typically updatedfor all events. The third action updates timing latency data elements1205 in current lesson subtype 1107. Finally, the fourth action updatesstudent performance data elements 1204 in current lesson subtype 1107.

A validated and identified component of the ABI system needing todetermine the value of particular data element in the student dataobject does so by sending an query message to the student data objectrequesting the desired data element. The inquiry method for that dataelement retrieves and returns the desired value. Such inquiries areprimarily made by the agent on the student client system. In thepreferred embodiment in which school-student data is stored apart fromthe student data object on server systems, such queries are performeddirectly by inquiry and report generating programs.

Further aspects of student data object operation include backup ofportable student data objects and student data object initialization.For reliable security and integrity, especially in case of loss orphysical damage, it is advantageous that portable student data objectsbe backed up on a backup system. Further, it is preferably that suchbackup preserve the privacy of information in the portable student dataobject. Accordingly, in the case of portable media such as hard orfloppy disks, a copy of the already encrypted data is sent to the backupsystem for storage. In the case of smart-card-like portable media, aninterface can be provided which causes the stored data to beexternalized as an encrypted stream for backup storage. Backup arepreferably performed with sufficient granularity, such as ateducationally significant events and at local session termination.Centrally stored student data objects are backed up according to thefacilities of the object-oriented database in which they are stored.

Further, it is advantageous that a new student data object beinitialized. Thereby, instructional materials can have the advantage ofan agent already knowledgeable about the student, and the time consumingand perhaps tedious process of initial agent model construction can begreatly shortened. During instruction, the initial model is refined andsharpened as previously described. Such initialization can be performedin numerous ways. First, the student personally, or a teacher, parent,or other knowledgeable person for the student, can directly enterestimates of parameters used in the agent's pedagogic or cognitive modelof the student. Second, model parameters can be derived from testsadministered to the student prior to any instruction. Such tests caninclude those specially created for student data object initializationas well as standard tests of a student's abilities. These latter includeIQ tests for student abilities, ABLE™ tests for adult abilities,Thorndike Tests of Temperament (TDOT™) for personality profiles, and soforth. Specific IQ tests to which this invention is adaptable includethe Stanford-Binet™ and the Wechsler™ tests.

Specific initialization can optionally be provided for certain specificstudent data object fields. Reading skills can be measured andinitialized according to one of the many standard reading and vocabularytests known in the educational arts. Multiple intelligence traits, rightbrain/left brain dominance, and so forth, can be manually initialized bya person who is knowledgeable about the student, or who has carried outa personality assessment of the student.

5.6.2. The Agent/Materials Interface

The structure of the interface between the agent and the materials isimportant in the ABI system. It permits a single agent to control a widerange of materials through which it guides a single student. The agentachieves this by advantageously maintaining a model of the student'spedagogic characteristics, which it references in diverse situations todetermine its actions. This section, first, describes the generalprocedural structure of this interface, and second, describes thepreferred model for the content of the interface. This preferred modelis structured according to the instructional material interface standard(herein called “IMIS”)

Communications between the agent and the materials is bi-directional.Events containing parameters are sent to the agent by the materials ateducationally significant occurrences. In response, the agent setsglobal parameters controlling the materials and returns messagesconfirming actions proposed by the materials. In circumstances in whichthe materials needs to coordinate displays with the agent, itcommunicates synchronously with the agent. For example, when the studentrequests help or a hint, the materials can need to synchronously obtainthe agent's permission to offer the help or hint. In othercircumstances, the materials can asynchronously send informationalmessages to the agent. Such asynchronous agent input and possible outputcan give the system the appearance of spontaneity.

The agent/materials interface can be implemented in any convenientmanner in a given OS. For example, it can be built on explicitmessaging, shared memory areas, procedure calls to a socket interface,or other technology.

The global parameters set by the agent and which control the materialsare preferably state variables that the materials sequencing logicreferences in order to make educationally significant sequencingdecisions. The meanings of state variables to which a particularmaterial is sensitive can be established at materials initializationaccording to specifications in a header materials data entry.

Examples of such variables range from simple flags, such as thosecontrolling the availability of helps and hints, to more sophisticatedparameters, such as those controlling the rate of new conceptintroduction, the density of examples, or the speed of discriminationexercises.

Communications from the materials to the agent are controlled bynotations in the materials data. A notation includes an event type,parameters associated with the event, and the condition under which theevent is constructed and sent. Notations are activated when they areencountered in sequencing logic in the materials data. There are twoclasses of notations, “point-wise” notations and “toggled” notations.Point-wise notations are evaluated exactly once when they are activated.Toggled notations are evaluated at each input event following theiractivation until they are inactivated by a later notation.

Notations vary according to the materials. Some materials, such assimple e-mail, can contain no notations. Tool materials can containnotations indicating only correct or incorrect use of the tool. Mostinstructional materials data contain several types of notations.Generally, the events generated by these notations send informationsimilar to the following: number of retries, measures of rate in fluencydrills, measures of performance such as percent correct and the numberof tries, partition of exercise items into similarity sets, and measuresof the relative difficulty of items.

Table 2C illustrates exemplary types of notations generated by typicalinstructional materials.

TABLE 2C TYPES OF NOTATIONS NOTATION TYPE WHEN GENERATED TYPICALPARAMETERS POINT-WISE NOTATIONS: Lesson At start of lesson Educationalparadigm used; initialization meanings of state variables Partial Atpartial answer Correctness of user input, response for a requested timerequired input item Full response At complete answer Name of exercise,for a requesting difficulty, related input item exercises; correctnessof user input, time required, Help/hint User request for None requesthelp or hint End of lesson End of lesson Objectives satisfied by lesson;performance; time required Point At an error Screen location that agentcan highlight or move to Say At an error Message that agent can produceTOGGLED NOTATIONS: Latency No input event Elapsed time, expected type ofinput Inappropriate Inappropriate Number and type of input inputs fromstudent inappropriate inputs

5.6.2.1. The Agent/Materials Interface Standard

In order that the student's agent can act generally to provide studentguidance and control material presentation in a manner individualized tothe student's pedagogic characteristics, it is preferable that anembodiment of this invention use an instructional materials interfacestandard (herein called “IMIS”) According to IMIS, it is preferable thatthe detailed content generated by the notations and passed in messagesto the agent be structured in a standard fashion according to theparticular educational paradigm adopted by the materials and independentof the particular content of the materials Further, it is preferablethat the materials adopt one of a limited and defined set of educationalparadigms contemplated in the standard. Finally, it is furtherpreferable that the rules referenced by the agent in its associatedprocessing tables and performance data in the student data object bestructured according to the standards of the IMIS. Thereby, IMISprovides the agent with a materials independent view of the studentperformance.

IMIS is not limited to a particular set of educational paradigms. Anystandard set or sets of paradigms appropriate to the intended studentscan be adopted for the interface standard. It is preferable that thestandards adopted be based on principles of educational psychology andsound educational practice. In the following, this invention isdescribed according to an IMIS appropriate for elementary education. Theparadigms described below are not limiting.

Exemplary Educational Paradigms

Exemplary educational paradigms, also known as modes of instruction, arelisted in Table 3.

TABLE 3 EXEMPLARY EDUCATIONAL PARADIGMS Interactive tutorial Fluencyexercise Paired association exercise Discrimination formation exerciseSimulation exercise

Each of these educational paradigms is preferably handled differently bythe agent in response to differing descriptive information and studentperformance data. For example, a sequence of correct responses in afluency exercise is expected. On the other hand, a sequence of correctresponses in a paired associates exercise can be worth while for theagent to comment on.

Exemplary Paradigm Classification

The exemplary embodiment of IMIS standardizes these educationalparadigms according to three pieces of information: the instructionalcontext, the instructional format, and most specifically, the subjectarea. Materials notations should preferably specify all pieces formaximum agent flexibility, although the ABI system is adaptable to thematerials specifying any number or none. If none are specified, agentactions are independent of the educational paradigm.

The instructional context is the specific mode of instruction beingpresented to the student by the materials. Examples of instructionalcontexts are:

TABLE 4 EXEMPLARY INSTRUCTIONAL CONTEXTS Prerequisite   Test   ReviewPretest New material   Introduction   Discrimination   Review Practice  Fluency exercise   Review Unit mastery test

Within each instructional context, materials can adopt instructionalformats, the second component of the IMIS specification. Examples ofinstructional formats are:

TABLE 5 EXEMPLARY INSTRUCTIONAL FORMATS Multiple ChoiceFill-in-the-blank   Unprompted   Selected from list Paired Associates  By letter   By dragging   By matching Computations Simulations  Identify parts of figures or text   Simulation games

Finally, student performance should preferably be stored relative to thesubject area being worked on, as necessary for course level reporting.Thus, the third component of the exemplary IMIS is the subject area,such as mathematics or reading.

Exemplary Standardization of Agent Data

IMIS standardizes system tables and data relevant to agent actionprocessing according to this triple of information—instructionalcontext, instructional format, subject area—which characterize theeducation paradigm adopted by the materials. The following descriptiondiscusses standardization of notations in the materials, standardizationof data in the student data object, and standardization of the agentaction processing tables.

Notations in the materials are standardized according to IMIS asfollows. For a lesson, exercise, or item, each material adopts one ofthe standard set of educational paradigms, or modes of instruction. Theparameters to be passed to the agent in an event message are determinedby the instructional context and each instructional format of thisparadigm.

The following table contains an exemplary sequence of notations for a“prerequisites review” education paradigm, and the parameters relevantto agent action processing that each notation sends to the agent.

TABLE 6 EXEMPLARY NOTATIONS FOR PREREQUISITES REVIEW Site of NotationData Sent to Agent Instructional Context Type: Prerequisites ReviewSequence Entry Unit Name: Selecting Gender Pronouns Header Subject Area:Grammar Average Time: 5 minutes Number of Exercises: 8 Exercise 1 EntryFormat Type: Multiple Choice Header Number of Options: 2 Difficulty: 0.3Hint: Available . . . . . . Exercise k Entry Format Type: Fill in BlankHeader Subformat: Select from Words in Previous Sentence Difficulty: 0.5

An aspect of these notations is to provide information about the qualityof the student response, which, in this example, is given by the apriori probability of a correct answer. For example, selecting thecorrect response from two choices has an a prior probability of 0.5 ifthe choice is made at random. Filling in a blank correctly is lesslikely by chance, if no cuing is provided in the exercise.

Advantageously, notations containing the parameters associated with agiven instructional context and a given instructional format can bestored as templates in libraries. Notations are available in theselibraries to generate necessary messages at materials initialization andduring materials processing. An instructional designer then need onlyconsult these libraries to obtain the notations appropriate to theeducational paradigm of the materials being authored.

The standardization of the student data object according to thisexemplary embodiment of IMIS for elementary education is simply achievedby storing student performance data according to instructional context,instructional format, and subject area. Thereby, these characteristicscan be taken into account when comparing student pedagogic performancein general across subject matter areas.

The final component of IMIS standardization is that of the agent actionprocessing tables, the policy filter table, the decision weight table,and the selection rules. Event messages from the materials inform theagent of current values for the instructional context and instructionalformat. Since these values are parameters available to evaluate theconditions and functions contained in these tables, these tables can be,in effect, segmented into parts each corresponding to a particularinstructional context and instructional format. Since there isconsiderable overlap between the parts of these tables, the number ofrules does not proliferate. The current subject area is also availableto segment the tables in the cases of those subjects that can requirespecial treatment by agent action processing. Further, the IMISstandardization permits a more systematic and effective use of themechanism which the agent uses to set global variables in the materials.These variables facilitate adaptive adjustments of instructionalparameters, such as seeding rate and amount of prompting. Thesevariables can be more effectively set in view of the current educationalparadigm as indicated by the current values of the instructional contextand format. IMIS is also useful in providing information to the studentin response to “Where am I?” inquiries. The system can use theinformation contained in the entities in the information triple torespond, “You are halfway through the drill and practice on fractions,”for example.

Alternative Agent Embodiment Enabled by IMIS

In alternative embodiments of agent action processing, the segmenting ofthe policy filter table and decision weight table, which provides asimplified ‘intelligent instructional agent’ for each kind ofinstructional context, instructional format, can be augmented by othertechniques from artificial intelligence. Thus, the customized rules andfunctions contained in the action table can be augmented softwaremodules, which extend the agent and are constructed based on suchtechniques as production rules systems with rule propagation or neuralnets. Such additional modules could, for example, find complex patternsof student error unanticipated by the instructional designer. Asadditional artificial intelligence methods are incorporated into theagent software, new materials notations can be added to the notationrepertoire.

5.6.3. Agent Action Processing

Agent processing is divided into agent action processing, whichdetermines on-screen agent display actions in response to input events,and agent behavior processing, which transforms display actions intodisplays to the student. In a preferred embodiment, agent actionprocessing is rule based and event driven, and agent behavior processingis table based. This and the succeeding section describe the preferredembodiments of these divisions of agent processing.

FIG. 8 illustrates in more detail agent action processing. Thisprocessing is activated when event messages representing either inputevents sent from the I/O handlers or educationally meaningful messagesfrom the materials, are sent to the agent software. It transforms theinput event messages into lists of display actions that activate theagent display and also has the important side effects of updatingstudent data object 806, as indicated by arrow 815, and of settingmaterials control parameters, as indicated by arrow 816. It is possiblea particular input event can generate all or none of these outputs andside effects.

Agent action processing proceeds through three steps: event filtering,candidate action weighting, and display action selection. In common,each of these steps references rules in an associated table of rules.These rules include relations, functions, and procedures, all of whichreference input parameters. Input parameters can be any appropriate datacarried in the input event message and any appropriate data stored instudent data object 806. In particular, as indicated by arrow 815,fields from the following subtypes in the student data model arereferenced: the current lesson subtype, the materials specific subtypes,and the agent pedagogic student model subtype. In alternativeembodiments where the agent interface and data is structured accordingto an IMIS standard, event input parameters include parameterscharacterizing the current educational paradigm adopted by thematerials. These parameters can be used to select rules applicable onlyto this paradigm for reference and activation.

Turning now to the steps of agent action processing, the first step isevent filtering 807, referencing policy filter table 803. This step isdescribed with reference to Table 7, an exemplary policy filter table.

TABLE 7 POLICY FILTER TABLE POLICY FILTER TABLE Active Rule Y B(p₁, p₂,. . . , p₃), (type, subtype, x₁, x₂, . . . , x₃)-------------------------------------------- Y(item_(—L diff > LIM), (congratulation, diff, 2, . . . )) Y (rate >f*average), (congratulation, rate, k, . . . ) Y (exercise_done),(congratulation, done, r, t, . . . ) N (latency > m), (hint,constructed, . . . ) N ((error_rate < k) & (WMA > MAX)), (remediation,review)

The first row illustrates a generic policy filter rule, while subsequentrows illustrate exemplary filter rules. The generic rule has a conditionand a consequent. The condition is Boolean expression, B( ), of one ormore conditions, p_(n), each of which is a function of the availableparameters. Default parameters in a rule can be overwritten byparameters from the input event. The consequent is a list of an agentaction type, “type,” an agent action subtype, “subtype,” and zero ormore parameters, x_(n). The type is a major mode of agent behavior, forexample, “congratulate the student,” and the subtype modifies thatbehavior, for example, “because of the student's rate.” The parametersprovide additional information to be used in constructing an utterance,for example the time that the student took to complete an item or thename of the item. Each rule can be marked active or inactive, possiblyas a result of selection during materials initialization or as a resultof selection according to IMIS educational paradigm parameters.Processing a filter rule consists, first, in evaluating each activeboolean, and second, for each such active and true expression, placingthe consequent and its parameters into the list of candidate actions.The list of candidate actions is then passed on to action weighing 808,the next processing step. Also in the student data object, the currentlesson subtype and materials specific data subtype are updated, ifnecessary, with data from the input event message. For example, uponitem completion, performance results need to be updated.

Action weighting 808 references decision weight table 804 and assigns anumeric weight to each action in the input candidate action list. Thisstep is described with reference to Table 8 an exemplary decision weighttable.

TABLE 8 DECISION WEIGHT TABLE DECISION WEIGHT TABLE Active Rule Y (type,subtype), weight_function(x₁, x₂, . . . , x₃-------------------------------------------- Y (congratulation, diff),weight_function_j(Y₁,Y₂,Y₃) Y (congratulation, done),weight_function_k(Z₁,Z₂)

The first row illustrates a generic policy filter rule, while subsequentrows illustrate exemplary filter rules. The generic rule has an indexand a weight function. The index is a type and subtype pair, and theconsequent is a weight function of zero or more parameters, x_(n), witha value between 0 and 1. Each rule can also be marked active orinactive, possibly as a result of selection during materialsinitialization or as a result of selection according to IMIS educationalparadigm parameters. Processing the list of candidate actions consistsof, for each candidate action, selecting the weighting rules that have atype and a subtype matching that of the action and then assigning arelative priority between zero and one to the action as determined byapplying the weight function to the available parameters. In this mannerall the candidate actions on the candidate action list are assigned anumerical weight. The list of weighted candidate actions is then passedon to action selection 809, the last processing step.

Action selection 809 references selection criteria table 805 to select afinal set of actions from the input candidate action list. This step isdescribed with reference to Table 9, an exemplary selection criteriatable.

TABLE 9 SELECTION CRITERIA TABLE SELECTION CRITERIA TABLE Active Rule N(criterion) -------------------------------------------- N (use allactions with weight > MIN) Y (use the most highly weighted action)

The selection criteria table consists of a list of available methods forthe candidate action selection process. A selection criterion uses thecomputed weight and perhaps other parameters to select one or more finalactions from the candidate weighted actions. Exemplary selectioncriteria are illustrated in the last two rows. It is anticipated thatone criteria is marked active as a result of selection during materialsinitialization or as a result of selection according to IMIS educationalparadigm parameters. The active criteria is applied to select zero ormore final actions. Some final actions are executed locally to providecontrol to the materials by setting control parameters, as indicated byarrow 816. Other final actions can cause update of fields on the studentdata object, in particular in the agent pedagogic model subtype, asindicated by arrow 815. The remaining final actions are display actionswhich are passed to agent behavior processing in display action list802. The student data object is updated to record the selected displayactions.

Action processing is illustrated with reference to the exemplary rulesin Tables 7, 8, and 9 by considering the results of processing two inputevents, one of type “item done” with a “difficulty greater that LIM” andone of type “exercise done.” Applying the exemplary filter rules fromTable 7 results in two candidate actions, one being (congratulation,diff) and the other being (congratulations, done). No other exemplaryboolean expression evaluates to true. Next the exemplary weighting rulesfrom Table 8 are simply applied by selecting and evaluating the correctweighting function. The resulting exemplary candidate action weights aretaken to be 0.8 for (congratulation, diff) and 0.5 for (congratulations,done). Finally, the one active exemplary selection rule from Table 9 isapplied which selects the one final action (congratulation, diff).

The preferred embodiment here illustrated involved no rule propagation.In alternative embodiments more sophisticated artificial intelligenceprogramming techniques could be employed as is apparent to those ofskill in the art. For example, rule propagation and general productionrule systems could be used to transform events to actions. Otherapplicable techniques could involve neural nets, predicate logic, and soforth.

5.6.4. Agent Behavior Processing

Agent behavior processing transforms display actions into outputdisplays to the student. In a preferred embodiment, agent behaviorprocessing selects from tables of possible display behaviors based onthe input display action list and its parameters and on fields in thestudent data object describing student preferences and recent agentdisplay behaviors. Further, in a preferred embodiment, agent behaviorprocessing generates either display scripts which are sent to the I/Ohandler, or scripts with associated data snips of sound and animationthat are embedded in applets. In alternative embodiments, intermediatescripts are not used and behavior processing generates I/O handlercommands in real time. This section describes agent behavior processing,first, with respect to the table data structures used, and second, withrespect to the processing steps.

Generally, agent behavior processing includes two steps. First, themessage and its emotional affect, which is to be displayed or spoken bythe on-screen agent, called herein the “utterance,” is selectedaccording to the input display actions. Second, the utterance and affectare sent to the preferred persona object where it is integrated into acomplete display, including animation, graphics and audio. The displayis preferably represented as a script which is then sent to the I/Ohandlers. In behavior processing, the selected affect in an importantparameter. The affect further characterizes the intent of the utterance.For example, an utterance of a “congratulations” type is red associatedwith a positive affect that can range from “happy,” in cases of superiorperformance, to “encourage,” in cases of improving but still less thanaverage performance. The display behavior of the on-screen agent,preferably represented as one or more personae interacting with eachother and the student, is strongly responsive to the affect parameter.As is known in the arts of film animation, infusing an animation with anaffect or emotion gives resulting images a human and life-like quality.Such a quality is important so that the virtual tutor aspect of the ABIsystem engage the student in order to improve instructional results.Also, by storing recent affects selected in the student data object, aswell as student preferences for such parameters as affect intensity andpresentation, agent behavior processing can present a coherent andlife-like image agreeable to the student over one instructional sessionor over several instructional sessions.

Affects are associated with and further characterize the intent ofutterances. They are selected as part of utterance generation processingfor use in visual display generation processing. Utterance generationprocessing depends on the type, subtype, and parameters of the currentevent as well as in the student data object, which contains the agentstudent model, student pedagogic parameters, and recently generatedbehaviors. Therefore, preferably, the selected affect and generatedvisual displays are responsive to the student pedagogic characteristicsor, alternatively, the student cognitive style.

Turning details of utterance generation, utterances and associatedaffect are generated by selecting options from a hierarchy of tables.This hierarchy, having typically many choices for each level, providesvariety in agent behavior. At the highest level of this hierarchy arethe tables of utterance templates 908, which are indexed by action typeand action subtype. Typically, there are many utterance templates andassociated affect for any given action type and subtype, and indexing isaccording to additional parameters that occur in action lists andadditional parameters of student characteristics from the student dataobject. For example, utterances and affects are further selectedaccording to the educational paradigm employed, student grade level, andstudent preferences.

At the next level of the utterance generation hierarchy are tables ofnamed slots, which are parametrized phrases, or in other words,functions which use input parameters to return phrases. Utterancetemplates contain named slots as well as invariable words and sounds.When an utterance template is evaluated, slots with the specified nameare selected from the slot table. Typically, there are many slots of agiven name, which are further indexed according to additional actionlist parameters and user characteristics from the student data object.When a slot is selected for use in the utterance template, slotparameters are passed from the utterance template. Alternativeembodiments of this invention are adaptable to hierarchies withadditional levels of utterance generation tables or additional types oftables at a given level in the hierarchy.

Exemplary Table 10 is a small segment of the utterance template tablefor an action type of “congratulations” and an action subtype of“performance” and appropriate for a test type paradigm. Table 10illustrates that the student grade level, obtained from the student dataobject, is an additional indexing parameter for these utterancetemplates. Further, each illustrated template includes a slot named“performance-streak-slot,” with parameters of grade level, number ofproblems answered correctly, and total number of problems.

TABLE 10 EXEMPLARY UTTERANCE TEMPLATES (congratulations, performance,grade = 4, “You got <performance-streak-slot(4, numright, total)>right.”) (congratulations, performance, grade = 4, “You are reallygetting the hang of it.”) (congratulations, performance, grade = 8,“Quite a winning streak - <performance-streak-slot (8, numright,total)>.”) (congratulations, performance, grade = 12, “A stellarperformance getting <performance-streak-slot(12, numright, total)>right.”)

It is preferable that the utterance template table have a large numberof utterance templates appropriate to a large number of educationssituations. Since the preferable number of type and subtype combinationsis at least approximately 500, and since it is preferable to have 10 to100 responsive utterances per pair, a preferable utterance templatetable has at least 25,000 entries. A less preferable table has at least5,000 entries and a more preferable table has at least 50,000 entries.In an embodiment of the invention, less used utterances have fewercandidate responsive utterances without impairing the image of systemspontaneity. Thus this invention is adaptable to utterance tables of1,000 entries.

Exemplary Table 11 is a small segment of the slot table for slots named“performance-streak-slot,” any of which could be employed in theprevious templates. The illustrated slots evaluate their inputparameters to results in phrases. For example the last slot results inthe phrase “90 percent” if numright is 9 and total is 10. Further, slotscan contain a condition which controls their applicability. In thisexample it is the fifth component of each entry and only the first slothas an non-null condition.

TABLE 11 EXEMPLARY SLOT ENTRIES (performance-streak-slot, 4-12,numright, total, <numright> > 0.8*<total>, “Nearly all”)(performance-streak-slot, 8-12, numright, total, nil, “<numright> out of<total>”) (performance-streak-slot, 8≧12, numright, total, nil,“100*<numright>/<total> percent”)

Slots are used to create final, generated utterances with considerablevariety. Therefore, it is preferable that the slot tables have at leastthe same number of entries as the utterance template table. A preferableslot has at least 25,000 entries. A less preferable table has at least5,000 entries, and a more preferable table has at least 50,000 entries.

The final display of the preferred on-screen agent object is generatedfrom Display Behavior Tables 904 with a similar hierarchical table datastructure to that used in utterance generation. At the highest level areon-screen agent actions which contain a cast of one or more personae. Atthe next level are persona types which the student selects once, or atmost once per session. At the next level, associated with each personatype is a library of display behaviors indexed by affect. Exemplaryaffect types include the following: sad, objective, pleased, happy,disappointed, announce, remind, encourage, reinforce, model, prompt,hint, joke, and tutor. Typically, each affect has many possiblebehaviors and these are further indexed, as for utterance generation, byparameters appearing in the action list and the student data object. Thedisplay behaviors are structured as scripts containing named displayobjects. These named display objects can optionally involve voice,audio, graphics, or video displays, and they are contained in scriptswhich can optionally specify a timed animated display or a branchingdisplay, where the branches are dependent on student reactions to thedisplay. At the lowest level in the preferred embodiment are theindividual named display objects. As for slots, typically there areseveral parametrized instantiations of each named object. Theseinstantiations are indexed according to the same parameters indexing thedisplay behaviors and in turn use these parameters to generate displays.Alternative embodiments of this invention are adaptable to hierarchieswith additional levels of tables for display generation tables oradditional types of tables at a given level in the hierarchy.

Exemplary Table 12 is a small segment with personae types adapted toelementary education.

TABLE 12 EXEMPLARY ON-SCREEN AGENT ACTIONS A frog persona writing thecongratulatory message on a tiny blackboard, then jumping up and downcroaking ‘Hurray’. A robot persona creakily waving its arms and sayingthe congratulatory message. An animal persona wearing a cheerleader'soutfit jumping up and down, chanting the congratulatory message as acheer. The cat says the general part of the encouragement message whilepointing to his bird sidekick. The bird then flies across the screenwhile saying the specific part of the message.

It is preferable that the on-screen agent have a richly varied andengaging behavior. The persona types preferably include recognizablepopular figures as well as a rich variety of specially created figures.Persona type tables have a preferable selection of at least 100, andless preferably at least 50 persona types. The libraries of displaybehaviors preferably have many behaviors for each affect. Since thepreferable number of affects is at least 50, and since it is preferableto have 50 to 100 responsive behaviors per affect, a preferable behaviorlibraries have at least 2,500 entries, and more preferably 5,000entries, per persona type. A fully implemented ABI system can havepreferable behavior libraries with approximately 125,000 entries. Thisnumber can be less in situations were more popular persona have fullyconfigured behavior libraries while less popular persona have morelimited libraries. Further, the number of persona types can beadvantageously limited to only the most popular or more appropriate forthe type of student. Thus this invention is adaptable to libraries withapproximately 1,000 entries of responsive behaviors.

In implementations of this invention, it is important that the actualcontent of the utterance tables and the display tables and libraries besufficiently creative and current to engage the student. Therefore, thiscontent is preferably created by artists, animators, writers, and othercreative talent. These elements of sound, voice, animation, graphics andvideo are collected into libraries of data snips and stored in archives.Further, it is preferable that these tables have an extensive and variedcontent in order that agent displays repeat only infrequently.

Turning now to the process of generating a complete agent displaybehavior, the steps of this process are described with reference to FIG.9. The first step is utterance generation 906 which receives as inputaction list 901. Utterance generation indexes the utterance templatetable in accord with action list parameters, in particular action typeand subtype, and student preferences from the student data object, toobtain candidate utterance templates responsive to the currentsituation. If no candidates are found, the student preferences arerelaxed in a preset order until at least one candidate is found.Typically, more than one candidate is found, and then one template isselected at random from among those templates which have not yet beenused previously in this session. A record of agent display behaviorduring the session is stored in the student data object. The named slotsof the selected template are resolved in a similar fashion, by findingcandidate named slots and selecting one at random that has not beenrecently used. An utterance is then generated from the template, thenamed slot, and the input action list parameters. This utterance and itsassociated affect is passed to visual display generation.

The second step of agent behavior processing, visual display generation907, uses the input utterance and associated affect to select candidateresponsive displays of that affect from the libraries associated withthe student's current persona(e) preference contained in the studentdata object 905. As with utterance generation, if no candidate is found,student preferences are relaxed until one is found. Typically, more thanone is found, and one is selected randomly avoiding recent selections inthis session. Display objects referenced in the selected display aresimilarly found. Finally, the utterance message is sent to the selecteddisplay and display objects. These objects contain performance methodsthat are called to generate and output display script. In a preferredembodiment, the script with references to data snips 909 of voice,sound, graphics, video and animation is incorporated into an applet. Anexemplary applet can be a program fragment representing a characterscratching his head while saying the utterance and moving across thescreen. This output applet is sent to the I/O handlers in the ES forstudent display 908. Since this completes agent processing for thisstudent or timer event, the system then waits for the next action atwait point 902.

A display action can also reference a pre-formatted animated sequencestored in the data snip library 909 in which voice, sound, graphics,animation and video have been already integrated. In this case, portionsof utterance processing 906 and visual display processing 907 can bebypassed.

In alternative embodiments, selection of utterance or persona candidatesfrom the available contents can be done other than randomly. Forexample, agent behavior data saved during a session in the student dataobject can be used to construct performances extending across instancesof student actions. In particular, utterance templates and displayobjects can be selected in a connected manner in order to give agentdisplay the appearance of continuity and realism. This invention isadaptable to other methods of generating performances parametrized byaffect and utterance that are known in the art. These methods caninclude advanced text to speech techniques, 2-D and 3-D graphicalgeneration, and VR effects.

The visualization of agent actions can involve a single character orseveral characters interacting with each other. If multiple charactersare used, they are preferably interrelated. A typical cast is a cat witha bird sidekick. An exemplary interaction of these associated charactersinvolving both dialogue and movement is presented in Table 12.

Continuing story line scripts can be available from the system on adaily basis in a manner similar to a continuing plot in a daily comicstrip. These story lines can be applicable to a group of students andindividualized where appropriate. In some cases the student's selectedpersona can introduce a story line and in other cases several personaeare directly involved in an interaction. For example, the story line canbe used as the basis for a reward such as “We're off to the beach toplay volleyball. Join us when you finish your homework, then later helpus solve the mystery of the vanishing lake.”

In summary, the use of the student data object in agent behaviorprocessing is illustrated in Table 13.

TABLE 13 STUDENT DATA USE IN AGENT BEHAVIOR STUDENT DATA EFFECTS Studentpersona choice Display persona, including type of character, voiceinflection, activity rate, and so forth Student's characteristics,Narrow candidate utterance including grade level, template and candidatelanguage ability, display preferences, and so forth Previous student Inalternative embodiments, interactions with materials utterance anddisplay can or agent relate to previous interactions Previous utterancesin this Selection of different session utterance template and slotsPrevious displays in this Selection of different session display anddisplay objects

Particular data in the student data object has an important role indetermining agent display and insuring its appropriateness, variety, andindividualization.

6.5. Agent Adaptivity

The adaptation of the agent to the student, and the ABI system'sappearance as a virtual tutor, emerges from the agent's updating of datain the student data object. In the preferred embodiment, the agent'sknowledge of the student is represented by data in the student dataobject, in particular in the student pedagogic model, which storesgeneral materials independent data describing how the student learns,and in the materials specific student performance, which storesperformance data specific to particular assigned materials and courses.As the student interacts with the system for instruction or homework,the agent receives event messages, which describe the student's learningand performance. The agent updates the student data object with datafrom these messages. As this data is updated, the agent adapts to thestudent, and thereby the virtual tutor individualizes to the student.This adaptation is maintained across sessions with this student.

In the preferred embodiment, the data referenced and updated by theagent are averages or weighted moving averages, giving more weight torecent than past behavior. Thus, the pedagogic model includes, forexample, data weighted moving averages of the rates that the studentlearns discrimination of a certain complexity. Materials specificperformance includes, for example, weighted moving averages of data onthe student's response time and response latency.

In alternative implementations, agent adaptivity to its student canoccur differently. In one alternative embodiment, student model dataincludes not only averages or weighted moving averages, but also data onthe statistical distribution of the parameters involved, such asstandard deviations. With this data the agent can recognize the currentsituation as “normal” or “abnormal” for this student and thereby offerappropriate guidance. Further, this statistical data can optionallyinclude correlations between the agent data, such as between variouspedagogic parameters and various materials parameters. In this manner,educational situations can be classified more finely than “normal” or“abnormal” into, for example, “abnormally slow on this fluency drill inview of normal progress on other exercises.” In a further embodiment,classification of this statistical data can be done by specialexecutable modules in the agent based on, for example, statisticalclassification schemes or neural networks.

In a further alternative embodiment, agent action processing can beimplemented with more complicated techniques. In the preferredembodiment, agent action processing is done by rules without rulepropagation. In alternative embodiments, rule propagation and full rulebased systems can be used to transform events into actions. Thisinvention is applicable to other techniques from artificial intelligencethat can make this transformation such as Bayesian belief networks.

In another alternative embodiment, the student data object has datamodeling student interests and preferences. Such a model enables theagent, for example, to monitor school events and suggest thoseappropriate to the user. This model also enables the agent to providerewards tailored to individual students, which enhances the systemreinforcement and adds to perceived agent persona personality and tovirtual tutor individualization. In a preferred embodiment, this modelof student interests can be implemented simply as a set of approximately200 categories, covering interest in several subdivisions of each schoolsubject area, as well as categories related to sports, leisure time andother areas of student interest. Interest in these categories can beentered in several manners. Student use of the encyclopedia tool can beused to determine areas of current interest. Interest can be directlyentered by the student, parent, or teacher. Alternately, studentinterest in materials can inquired for when the materials terminate.After an assignment, the student could provide semiotic feedback byselecting from a row of faces with different expressions. Alternately,the student can be quizzed on interests in a posed branching manner.

6. Specific Embodiments, Citation of References

The present invention is not to be limited in scope by the specificembodiments described herein. Indeed, various modifications of theinvention in addition to those described herein will become apparent tothose skilled in the art from the foregoing description and accompanyingfigures. Such modifications are intended to fall within the scope of theappended claims.

Various publications are cited herein, the disclosures of which areincorporated by reference in their entireties.

What is claimed is:
 1. A method for interactive content exchange, saidmethod comprising: presenting interactive content to a user for acurrent session; monitoring said presentation of interactive content tosaid user; storing a first information set responsive to saidmonitoring, said first information set for use during a subsequentsession; selecting one of a plurality of presentation personae, said oneof the plurality of presentation personae being associated with thefirst information set; and outputting, through said selected one of theplurality of presentation personae a second information set in saidsubsequent session to guide said user in said interactive contentexchange, said second information set corresponding to said monitoringof said user and corresponding to said stored first.
 2. The methodaccording to claim 1 further comprising: executing one or morematerials, said one or more materials corresponding with said currentsession; controlling said one or more materials, said controllingresponsive to said and to said stored first information set, whereinsaid one or more materials are responsive to said controlling.
 3. Themethod according to claim 2 wherein said step of monitoring furthercomprises: generating monitoring information; and storing saidmonitoring information in a data object.
 4. The method according toclaim 2 wherein said step of monitoring further comprises: monitoringpedagogic characteristics of said interactive exchange; and said step ofcontrolling further comprises controlling said one or more materials inorder to present interactive content with said pedagogiccharacteristics.
 5. The method according to claim 4 wherein saidpedagogic characteristics are selected from the group comprising timepacing of interactive instruction, new concept seeding rate, density ofexamples, and discrimination difficulty.
 6. The method according toclaim 2 wherein said step of monitoring further comprises monitoringaccording to an instructional context and an instructional formatadopted by each of said one or more materials.
 7. The method accordingto claim 2 further comprising: generating at least one action responsiveboth to said monitoring and to said stored first information set.
 8. Themethod according to claim 7 wherein said generating generates an actionaccording to one or more tables of rules.
 9. The method according toclaim 7 wherein said generating generates an action according to one ormore methods selected from the group of expert systems, neural networks,Bayesian belief networks, and statistical pattern recognition.
 10. Themethod according to claim 2 wherein said step of monitoring furthercomprises monitoring pedagogic information describing the pedagogiccharacteristics of said user in a manner independent of the subjectmatters of said one or more materials.
 11. The method according to claim2 wherein said step of monitoring further comprises: monitoring progressand performance information describing the progress and performance ofsaid.
 12. The method according to claim 2 wherein said one or morematerials further comprise a material engine and one or more materialsdata, and wherein said step of presenting interactive instruction byexecuting one or more materials further comprises executing saidmaterials engine which references said one or more materials data. 13.The method according to claim 12 wherein said materials data furthercomprise notations, and wherein said step of monitoring furthercomprises said materials engine referencing said notations in order togenerate monitoring information.
 14. The method according to claim 13further comprising: determining an effect responsive to said monitoringand responsive to said first information set; whereby said visualdisplay is responsive to said effect and to said interactive content ina life-like manner.
 15. The method according to claim 1 wherein saidstep of outputting the second information set further comprises: (i)selecting an utterance and an effect from one or more utterance tablesin a manner responsive to said monitoring and to said storedinformation; and (ii) selecting a visual display from one or more tablesof display behaviors in a manner responsive to said utterance, saideffect, said monitoring and said stored information.
 16. The methodaccording to claim 15 wherein said step of monitoring further comprises:monitoring pedagogic information describing the pedagogiccharacteristics of said user, wherein said selected display behaviorcomprises one or more personae, and wherein said selected visual displayis further responsive to said pedagogic information; whereby said one ormore personae present a life-like appearance individualized to saiduser's cognitive style.
 17. The method according to claim 1 furthercomprising: inputting at least one request of said user for guidance insaid interactive content exchange, and wherein said second informationset is further responsive to said input requests.
 18. The methodaccording to claim 1 wherein said computer accessed by said user is onecomputer of a plurality of computers interconnected by a network, andwherein said user can access any of said plurality of computers for aninstructional session.
 19. The method according to claim 1 wherein saidsecond information set further comprises an utterance, and whereinoutputting comprises: selecting said utterance from one or morecandidate utterances; and outputting said utterance as text or speech.20. The method according to claim 19 wherein said step of selectingfurther comprises selecting said one or more candidate utterance fromone or more tables of utterances.
 21. The method according to claim 1wherein said second information set comprises: a display behavior, andwherein the step of outputting comprises selecting said display behaviorfrom one or more candidate display behaviors; outputting said displaybehavior.
 22. The method according to claim 21 wherein said step ofselecting further comprises selecting one or more candidate displaybehaviors from one or more tables of display behaviors.
 23. The methodaccording to claim 21 wherein said step of outputting said selecteddisplay behavior comprises outputting one or more modalities selectedfrom the group consisting of text, voice, audio, animation, video, andpre-formatted animated sequences.
 24. A method of operating an agentbased instruction system for instruction of a plurality of users, saidmethod comprising: executing one or more materials on a computer forpresenting interactive instruction to a user of said plurality of users;generating monitoring information that monitors said interactiveinstruction presented to said user; selecting one of a plurality ofpresentation personae, said one of the plurality of presentationpersonae being associated with said monitoring information; andcontrolling said one or more materials to instruct said a user throughsaid selected one of a plurality of presentation personae, saidcontrolling being responsive to said information monitoring theinteractive instruction of said a user; whereby said interactiveinstruction is individualized to each user of said plurality of users.25. The method according to claim 24 further comprising: outputtinginformation on said computer to guide said user in said interactiveinstruction, said output information responsive to said monitoringinformation of said interactive instruction of said user; whereby saidsystem acts as a virtual tutor adapted to said user, said virtual tutorfor guiding said interactive instruction of said user.